diff --git a/internal/testrunner/compiler_runner.go b/internal/testrunner/compiler_runner.go index 6770a03eb1..920ac47653 100644 --- a/internal/testrunner/compiler_runner.go +++ b/internal/testrunner/compiler_runner.go @@ -11,7 +11,6 @@ import ( "testing" "github.com/microsoft/typescript-go/internal/checker" - "github.com/microsoft/typescript-go/internal/collections" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/repo" "github.com/microsoft/typescript-go/internal/testutil" @@ -83,30 +82,20 @@ func (r *CompilerBaselineRunner) EnumerateTestFiles() []string { return files } +var deprecatedTests = []string{ + // Test deprecated `importsNotUsedAsValue` + "preserveUnusedImports.ts", + "noCrashWithVerbatimModuleSyntaxAndImportsNotUsedAsValues.ts", + "verbatimModuleSyntaxCompat.ts", + "preserveValueImports_importsNotUsedAsValues.ts", + "importsNotUsedAsValues_error.ts", +} + func (r *CompilerBaselineRunner) RunTests(t *testing.T) { r.cleanUpLocal(t) files := r.EnumerateTestFiles() - skippedTests := map[string]string{ - "mappedTypeRecursiveInference.ts": "Skipped until we have type printer with truncation limit.", - "jsFileCompilationWithoutJsExtensions.ts": "Skipped until we have proper allowJS support (and errors when not enabled.)", - "fileReferencesWithNoExtensions.ts": "Skipped until we support adding missing extensions in subtasks in fileloader.go", - "typeOnlyMerge2.ts": "Needs investigation", - "typeOnlyMerge3.ts": "Needs investigation", - "filesEmittingIntoSameOutput.ts": "Output order nondeterministic due to collision on filename during parallel emit.", - } - deprecatedTests := []string{ - // Test deprecated `importsNotUsedAsValue` - "preserveUnusedImports.ts", - "noCrashWithVerbatimModuleSyntaxAndImportsNotUsedAsValues.ts", - "verbatimModuleSyntaxCompat.ts", - "preserveValueImports_importsNotUsedAsValues.ts", - "importsNotUsedAsValues_error.ts", - } + for _, filename := range files { - if msg, ok := skippedTests[tspath.GetBaseFileName(filename)]; ok { - t.Run(tspath.GetBaseFileName(filename), func(t *testing.T) { t.Skip(msg) }) - continue - } if slices.Contains(deprecatedTests, tspath.GetBaseFileName(filename)) { continue } @@ -324,19 +313,22 @@ func newCompilerTest( } } -var concurrentSkippedErrorBaselines = collections.NewSetFromItems( - "circular1.ts", - "circular3.ts", - "recursiveExportAssignmentAndFindAliasedType1.ts", - "recursiveExportAssignmentAndFindAliasedType2.ts", - "recursiveExportAssignmentAndFindAliasedType3.ts", - "superInStaticMembers1.ts target=es2015", -) +var concurrentSkippedErrorBaselines = map[string]string{ + "circular1.ts": "Circular error reported in an extra position.", + "circular3.ts": "Circular error reported in an extra position.", + "recursiveExportAssignmentAndFindAliasedType1.ts": "Circular error reported in an extra position.", + "recursiveExportAssignmentAndFindAliasedType2.ts": "Circular error reported in an extra position.", + "recursiveExportAssignmentAndFindAliasedType3.ts": "Circular error reported in an extra position.", + "typeOnlyMerge2.ts": "Type-only merging is not detected when files are checked on different checkers.", + "typeOnlyMerge3.ts": "Type-only merging is not detected when files are checked on different checkers.", +} func (c *compilerTest) verifyDiagnostics(t *testing.T, suiteName string, isSubmodule bool) { t.Run("error", func(t *testing.T) { - if !testutil.TestProgramIsSingleThreaded() && concurrentSkippedErrorBaselines.Has(c.testName) { - t.Skip("Skipping error baseline in concurrent mode") + if !testutil.TestProgramIsSingleThreaded() { + if msg, ok := concurrentSkippedErrorBaselines[c.basename]; ok { + t.Skipf("Skipping in concurrent mode: %s", msg) + } } defer testutil.RecoverAndFail(t, "Panic on creating error baseline for test "+c.filename) @@ -368,12 +360,27 @@ func (c *compilerTest) verifyDiagnostics(t *testing.T, suiteName string, isSubmo }) } +var skippedEmitTests = map[string]string{ + "filesEmittingIntoSameOutput.ts": "Output order nondeterministic due to collision on filename during parallel emit.", + "jsFileCompilationWithJsEmitPathSameAsInput.ts": "Output order nondeterministic due to collision on filename during parallel emit.", + "grammarErrors.ts": "Output order nondeterministic due to collision on filename during parallel emit.", + "jsFileCompilationEmitBlockedCorrectly.ts": "Output order nondeterministic due to collision on filename during parallel emit.", + "jsDeclarationsReexportAliasesEsModuleInterop.ts": "cls.d.ts is missing statements when run concurrently.", + "jsFileCompilationWithoutJsExtensions.ts": "No files are emitted.", + "typeOnlyMerge2.ts": "Nondeterministic contents when run concurrently.", + "typeOnlyMerge3.ts": "Nondeterministic contents when run concurrently.", +} + func (c *compilerTest) verifyJavaScriptOutput(t *testing.T, suiteName string, isSubmodule bool) { if !c.hasNonDtsFiles { return } t.Run("output", func(t *testing.T) { + if msg, ok := skippedEmitTests[c.basename]; ok { + t.Skip(msg) + } + defer testutil.RecoverAndFail(t, "Panic on creating js output for test "+c.filename) headerComponents := tspath.GetPathComponentsRelativeTo(repo.TestDataPath, c.filename, tspath.ComparePathsOptions{}) if isSubmodule { diff --git a/internal/testutil/tsbaseline/js_emit_baseline.go b/internal/testutil/tsbaseline/js_emit_baseline.go index 5e29b07404..eb6c9ab06c 100644 --- a/internal/testutil/tsbaseline/js_emit_baseline.go +++ b/internal/testutil/tsbaseline/js_emit_baseline.go @@ -25,17 +25,13 @@ func DoJSEmitBaseline( harnessSettings *harnessutil.HarnessOptions, opts baseline.Options, ) { - if options.GetAllowJS() { - t.Skip("AllowJS is not supported") - return - } if options.OutFile != "" || options.Out != "" { - t.Skip("OutFile/Out is not supported") + // Just return, no t.Skip; these options are not going to be supported so noting them is not helpful. return } if !options.NoEmit.IsTrue() && !options.EmitDeclarationOnly.IsTrue() && result.JS.Size() == 0 && len(result.Diagnostics) == 0 { - panic("Expected at least one js file to be emitted or at least one error to be created.") + t.Fatal("Expected at least one js file to be emitted or at least one error to be created.") } // check js output diff --git a/testdata/baselines/reference/conformance/deepElementAccessExpressionInJS.js b/testdata/baselines/reference/conformance/deepElementAccessExpressionInJS.js new file mode 100644 index 0000000000..74a48be03c --- /dev/null +++ b/testdata/baselines/reference/conformance/deepElementAccessExpressionInJS.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/salsa/deepElementAccessExpressionInJS.ts] //// + +//// [declarations.d.ts] +declare var module: { + exports: { + [key: string]: any; + }; +} +//// [elementAccessExpressionInJS.js] +if (module[calculatePropertyName(1)]) { +} +function calculatePropertyName(index) { + // this would be some webpack index in real life + return `property${index}`; +} + + +//// [elementAccessExpressionInJS.js] +if (module[calculatePropertyName(1)]) { +} +function calculatePropertyName(index) { + // this would be some webpack index in real life + return `property${index}`; +} diff --git a/testdata/baselines/reference/conformance/typeTagForMultipleVariableDeclarations.js b/testdata/baselines/reference/conformance/typeTagForMultipleVariableDeclarations.js new file mode 100644 index 0000000000..e93ed6cebc --- /dev/null +++ b/testdata/baselines/reference/conformance/typeTagForMultipleVariableDeclarations.js @@ -0,0 +1,16 @@ +//// [tests/cases/conformance/typeTagForMultipleVariableDeclarations.ts] //// + +//// [typeTagForMultipleVariableDeclarations.js] +/** @type {number} */ +var x,y,z; +x +y +z + + +//// [typeTagForMultipleVariableDeclarations.js] +/** @type {number} */ +var x, y, z; +x; +y; +z; diff --git a/testdata/baselines/reference/submodule/compiler/accessorDeclarationEmitJs.js b/testdata/baselines/reference/submodule/compiler/accessorDeclarationEmitJs.js new file mode 100644 index 0000000000..a5c4354227 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/accessorDeclarationEmitJs.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/accessorDeclarationEmitJs.ts] //// + +//// [a.js] +export const t1 = { + p: 'value', + get getter() { + return 'value'; + }, +} + +export const t2 = { + v: 'value', + set setter(v) {}, +} + +export const t3 = { + p: 'value', + get value() { + return 'value'; + }, + set value(v) {}, +} + + + + +//// [a.d.ts] +export declare const t1: { + p: string; + readonly getter: string; +}; +export declare const t2: { + v: string; + setter: any; +}; +export declare const t3: { + p: string; + value: string; +}; diff --git a/testdata/baselines/reference/submodule/compiler/accessorDeclarationEmitJs.js.diff b/testdata/baselines/reference/submodule/compiler/accessorDeclarationEmitJs.js.diff new file mode 100644 index 0000000000..0aafbc581b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/accessorDeclarationEmitJs.js.diff @@ -0,0 +1,31 @@ +--- old.accessorDeclarationEmitJs.js ++++ new.accessorDeclarationEmitJs.js +@@= skipped -24, +24 lines =@@ + + + //// [a.d.ts] +-export namespace t1 { +- let p: string; +- const getter: string; +-} +-export namespace t2 { +- let v: string; +- let setter: any; +-} +-export namespace t3 { +- let p_1: string; +- export { p_1 as p }; +- export let value: string; +-} ++export declare const t1: { ++ p: string; ++ readonly getter: string; ++}; ++export declare const t2: { ++ v: string; ++ setter: any; ++}; ++export declare const t3: { ++ p: string; ++ value: string; ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/allowJscheckJsTypeParameterNoCrash.js b/testdata/baselines/reference/submodule/compiler/allowJscheckJsTypeParameterNoCrash.js new file mode 100644 index 0000000000..88e7f5f65f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/allowJscheckJsTypeParameterNoCrash.js @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/allowJscheckJsTypeParameterNoCrash.ts] //// + +//// [func.ts] +interface ComponentOptions { + watch: Record>; +} +type WatchHandler = (val: T) => void; +declare function extend(options: ComponentOptions<{}>): void; +export var vextend = extend; +//// [app.js] +import {vextend} from './func'; +// hover on vextend +export var a = vextend({ + watch: { + data1(val) { + this.data2 = 1; + }, + data2(val) { }, + } +}); + +//// [func.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.vextend = void 0; +exports.vextend = extend; +//// [app.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.a = void 0; +const func_1 = require("./func"); +// hover on vextend +exports.a = (0, func_1.vextend)({ + watch: { + data1(val) { + this.data2 = 1; + }, + data2(val) { }, + } +}); diff --git a/testdata/baselines/reference/submodule/compiler/allowJscheckJsTypeParameterNoCrash.js.diff b/testdata/baselines/reference/submodule/compiler/allowJscheckJsTypeParameterNoCrash.js.diff new file mode 100644 index 0000000000..44a7593278 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/allowJscheckJsTypeParameterNoCrash.js.diff @@ -0,0 +1,11 @@ +--- old.allowJscheckJsTypeParameterNoCrash.js ++++ new.allowJscheckJsTypeParameterNoCrash.js +@@= skipped -27, +27 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.a = void 0; +-var func_1 = require("./func"); ++const func_1 = require("./func"); + // hover on vextend + exports.a = (0, func_1.vextend)({ + watch: { \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/ambientRequireFunction(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/ambientRequireFunction(module=commonjs).js new file mode 100644 index 0000000000..430403e508 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientRequireFunction(module=commonjs).js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/ambientRequireFunction.ts] //// + +//// [node.d.ts] +declare function require(moduleName: string): any; + +declare module "fs" { + export function readFileSync(s: string): string; +} + +//// [app.js] +/// + +const fs = require("fs"); +const text = fs.readFileSync("/a/b/c"); + +//// [app.js] +/// +const fs = require("fs"); +const text = fs.readFileSync("/a/b/c"); diff --git a/testdata/baselines/reference/submodule/compiler/ambientRequireFunction(module=preserve).js b/testdata/baselines/reference/submodule/compiler/ambientRequireFunction(module=preserve).js new file mode 100644 index 0000000000..430403e508 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/ambientRequireFunction(module=preserve).js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/ambientRequireFunction.ts] //// + +//// [node.d.ts] +declare function require(moduleName: string): any; + +declare module "fs" { + export function readFileSync(s: string): string; +} + +//// [app.js] +/// + +const fs = require("fs"); +const text = fs.readFileSync("/a/b/c"); + +//// [app.js] +/// +const fs = require("fs"); +const text = fs.readFileSync("/a/b/c"); diff --git a/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.js b/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.js new file mode 100644 index 0000000000..7777bb555a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/amdLikeInputDeclarationEmit.ts] //// + +//// [typing.d.ts] +declare function define(name: string, modules: string[], ready: (...modules: unknown[]) => T); +//// [BaseClass.d.ts] +declare module "deps/BaseClass" { + class BaseClass { + static extends(a: A): new () => A & BaseClass; + } + export = BaseClass; +} +//// [ExtendedClass.js] +define("lib/ExtendedClass", ["deps/BaseClass"], +/** + * {typeof import("deps/BaseClass")} + * @param {typeof import("deps/BaseClass")} BaseClass + * @returns + */ +(BaseClass) => { + + const ExtendedClass = BaseClass.extends({ + f: function() { + return "something"; + } + }); + + // Exports the module in a way tsc recognize class export + const module = {}; + module.exports = ExtendedClass + return module.exports; +}); + + + +//// [ExtendedClass.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.js.diff b/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.js.diff new file mode 100644 index 0000000000..6965dca877 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/amdLikeInputDeclarationEmit.js.diff @@ -0,0 +1,11 @@ +--- old.amdLikeInputDeclarationEmit.js ++++ new.amdLikeInputDeclarationEmit.js +@@= skipped -32, +32 lines =@@ + + + //// [ExtendedClass.d.ts] +-export = ExtendedClass; +-declare const ExtendedClass: new () => { +- f: () => "something"; +-} & import("deps/BaseClass"); ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode1.js b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode1.js new file mode 100644 index 0000000000..3f765d41c6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode1.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/argumentsPropertyNameInJsMode1.ts] //// + +//// [a.js] +const foo = { + f1: (params) => { } +} + +function f2(x) { + foo.f1({ x, arguments: [] }); +} + +f2(1, 2, 3); + + +//// [a.js] +const foo = { + f1: (params) => { } +}; +function f2(x) { + foo.f1({ x, arguments: [] }); +} +f2(1, 2, 3); + + +//// [a.d.ts] +declare const foo: { + f1: (params: any) => void; +}; +declare function f2(x: any): void; diff --git a/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode1.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode1.js.diff new file mode 100644 index 0000000000..814809d520 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode1.js.diff @@ -0,0 +1,13 @@ +--- old.argumentsPropertyNameInJsMode1.js ++++ new.argumentsPropertyNameInJsMode1.js +@@= skipped -22, +22 lines =@@ + + + //// [a.d.ts] ++declare const foo: { ++ f1: (params: any) => void; ++}; + declare function f2(x: any): void; +-declare namespace foo { +- function f1(params: any): void; +-} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode2.js b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode2.js new file mode 100644 index 0000000000..e3c0e9721a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode2.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/argumentsPropertyNameInJsMode2.ts] //// + +//// [a.js] +function f(x) { + arguments; +} + +f(1, 2, 3); + + +//// [a.js] +function f(x) { + arguments; +} +f(1, 2, 3); + + +//// [a.d.ts] +declare function f(x: any): void; diff --git a/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode2.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode2.js.diff new file mode 100644 index 0000000000..c08827eb5d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsPropertyNameInJsMode2.js.diff @@ -0,0 +1,8 @@ +--- old.argumentsPropertyNameInJsMode2.js ++++ new.argumentsPropertyNameInJsMode2.js +@@= skipped -15, +15 lines =@@ + + + //// [a.d.ts] +-declare function f(x: any, ...args: any[]): void; ++declare function f(x: any): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor1_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor1_Js.js new file mode 100644 index 0000000000..ae927d676e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor1_Js.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor1_Js.ts] //// + +//// [a.js] +class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo = {}) { + /** + * @type object + */ + this.arguments = foo; + } +} + + + + +//// [a.d.ts] +declare class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo?: object); +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor1_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor1_Js.js.diff new file mode 100644 index 0000000000..5c4487e994 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor1_Js.js.diff @@ -0,0 +1,11 @@ +--- old.argumentsReferenceInConstructor1_Js.js ++++ new.argumentsReferenceInConstructor1_Js.js +@@= skipped -25, +25 lines =@@ + * @param {object} [foo={}] + */ + constructor(foo?: object); +- /** +- * @type object +- */ +- arguments: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor2_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor2_Js.js new file mode 100644 index 0000000000..d734bb07ad --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor2_Js.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor2_Js.ts] //// + +//// [a.js] +class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo = {}) { + /** + * @type object + */ + this["arguments"] = foo; + } +} + + + + +//// [a.d.ts] +declare class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo?: object); +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor2_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor2_Js.js.diff new file mode 100644 index 0000000000..c0fa22884c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor2_Js.js.diff @@ -0,0 +1,11 @@ +--- old.argumentsReferenceInConstructor2_Js.js ++++ new.argumentsReferenceInConstructor2_Js.js +@@= skipped -25, +25 lines =@@ + * @param {object} [foo={}] + */ + constructor(foo?: object); +- /** +- * @type object +- */ +- arguments: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor3_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor3_Js.js new file mode 100644 index 0000000000..b5adf569fa --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor3_Js.js @@ -0,0 +1,47 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor3_Js.ts] //// + +//// [a.js] +class A { + get arguments() { + return { bar: {} }; + } +} + +class B extends A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo = {}) { + super(); + + /** + * @type object + */ + this.foo = foo; + + /** + * @type object + */ + this.bar = super.arguments.foo; + } +} + + + + +//// [a.d.ts] +declare class A { + get arguments(): { + bar: {}; + }; +} +declare class B extends A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo?: object); +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor3_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor3_Js.js.diff new file mode 100644 index 0000000000..ec68c5f732 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor3_Js.js.diff @@ -0,0 +1,15 @@ +--- old.argumentsReferenceInConstructor3_Js.js ++++ new.argumentsReferenceInConstructor3_Js.js +@@= skipped -43, +43 lines =@@ + * @param {object} [foo={}] + */ + constructor(foo?: object); +- /** +- * @type object +- */ +- foo: object; +- /** +- * @type object +- */ +- bar: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor4_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor4_Js.js new file mode 100644 index 0000000000..edf5819c38 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor4_Js.js @@ -0,0 +1,58 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor4_Js.ts] //// + +//// [a.js] +class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo = {}) { + const key = "bar"; + + /** + * @type object + */ + this.foo = foo; + + /** + * @type object + */ + const arguments = this.arguments; + + /** + * @type object + */ + this.bar = arguments.bar; + + /** + * @type object + */ + this.baz = arguments[key]; + + /** + * @type object + */ + this.options = arguments; + } + + get arguments() { + return { bar: {} }; + } +} + + + + +//// [a.d.ts] +declare class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo?: object); + get arguments(): { + bar: {}; + }; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor4_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor4_Js.js.diff new file mode 100644 index 0000000000..66b2aba54e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor4_Js.js.diff @@ -0,0 +1,25 @@ +--- old.argumentsReferenceInConstructor4_Js.js ++++ new.argumentsReferenceInConstructor4_Js.js +@@= skipped -51, +51 lines =@@ + * @param {object} [foo={}] + */ + constructor(foo?: object); +- /** +- * @type object +- */ +- foo: object; +- /** +- * @type object +- */ +- bar: object; +- /** +- * @type object +- */ +- baz: object; +- /** +- * @type object +- */ +- options: object; + get arguments(): { + bar: {}; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor5_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor5_Js.js new file mode 100644 index 0000000000..53debd1f91 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor5_Js.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor5_Js.ts] //// + +//// [a.js] +const bar = { + arguments: {} +} + +class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo = {}) { + /** + * @type object + */ + this.foo = foo; + + /** + * @type object + */ + this.bar = bar.arguments; + } +} + + + + +//// [a.d.ts] +declare const bar: { + arguments: {}; +}; +declare class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo?: object); +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor5_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor5_Js.js.diff new file mode 100644 index 0000000000..5ac49a9e37 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor5_Js.js.diff @@ -0,0 +1,28 @@ +--- old.argumentsReferenceInConstructor5_Js.js ++++ new.argumentsReferenceInConstructor5_Js.js +@@= skipped -27, +27 lines =@@ + + + //// [a.d.ts] +-declare namespace bar { +- let arguments: {}; +-} ++declare const bar: { ++ arguments: {}; ++}; + declare class A { + /** + * Constructor +@@= skipped -10, +10 lines =@@ + * @param {object} [foo={}] + */ + constructor(foo?: object); +- /** +- * @type object +- */ +- foo: object; +- /** +- * @type object +- */ +- bar: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor6_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor6_Js.js new file mode 100644 index 0000000000..5723085bee --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor6_Js.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor6_Js.ts] //// + +//// [a.js] +class A { + constructor() { + /** + * @type object + */ + this.foo = arguments; + } +} + + + + +//// [a.d.ts] +declare class A { + constructor(); +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor6_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor6_Js.js.diff new file mode 100644 index 0000000000..0a341ac40b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor6_Js.js.diff @@ -0,0 +1,13 @@ +--- old.argumentsReferenceInConstructor6_Js.js ++++ new.argumentsReferenceInConstructor6_Js.js +@@= skipped -14, +14 lines =@@ + + //// [a.d.ts] + declare class A { +- constructor(...args: any[]); +- /** +- * @type object +- */ +- foo: object; ++ constructor(); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor7_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor7_Js.js new file mode 100644 index 0000000000..4f16e44207 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor7_Js.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/argumentsReferenceInConstructor7_Js.ts] //// + +//// [a.js] +class A { + constructor() { + /** + * @type Function + */ + this.callee = arguments.callee; + } +} + + + + +//// [a.d.ts] +declare class A { + constructor(); +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor7_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor7_Js.js.diff new file mode 100644 index 0000000000..df56e76ef6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInConstructor7_Js.js.diff @@ -0,0 +1,13 @@ +--- old.argumentsReferenceInConstructor7_Js.js ++++ new.argumentsReferenceInConstructor7_Js.js +@@= skipped -14, +14 lines =@@ + + //// [a.d.ts] + declare class A { +- constructor(...args: any[]); +- /** +- * @type Function +- */ +- callee: Function; ++ constructor(); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod1_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod1_Js.js new file mode 100644 index 0000000000..40246c7013 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod1_Js.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod1_Js.ts] //// + +//// [a.js] +class A { + /** + * @param {object} [foo={}] + */ + m(foo = {}) { + /** + * @type object + */ + this.arguments = foo; + } +} + + + + +//// [a.d.ts] +declare class A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod1_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod1_Js.js.diff new file mode 100644 index 0000000000..98ab64c9ea --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod1_Js.js.diff @@ -0,0 +1,11 @@ +--- old.argumentsReferenceInMethod1_Js.js ++++ new.argumentsReferenceInMethod1_Js.js +@@= skipped -21, +21 lines =@@ + * @param {object} [foo={}] + */ + m(foo?: object): void; +- /** +- * @type object +- */ +- arguments: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod2_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod2_Js.js new file mode 100644 index 0000000000..6bb87e101d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod2_Js.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod2_Js.ts] //// + +//// [a.js] +class A { + /** + * @param {object} [foo={}] + */ + m(foo = {}) { + /** + * @type object + */ + this["arguments"] = foo; + } +} + + + + +//// [a.d.ts] +declare class A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod2_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod2_Js.js.diff new file mode 100644 index 0000000000..2d371db3b7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod2_Js.js.diff @@ -0,0 +1,11 @@ +--- old.argumentsReferenceInMethod2_Js.js ++++ new.argumentsReferenceInMethod2_Js.js +@@= skipped -21, +21 lines =@@ + * @param {object} [foo={}] + */ + m(foo?: object): void; +- /** +- * @type object +- */ +- arguments: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod3_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod3_Js.js new file mode 100644 index 0000000000..f23e23d350 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod3_Js.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod3_Js.ts] //// + +//// [a.js] +class A { + get arguments() { + return { bar: {} }; + } +} + +class B extends A { + /** + * @param {object} [foo={}] + */ + m(foo = {}) { + /** + * @type object + */ + this.x = foo; + + /** + * @type object + */ + this.y = super.arguments.bar; + } +} + + + + +//// [a.d.ts] +declare class A { + get arguments(): { + bar: {}; + }; +} +declare class B extends A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod3_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod3_Js.js.diff new file mode 100644 index 0000000000..d89c74b240 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod3_Js.js.diff @@ -0,0 +1,15 @@ +--- old.argumentsReferenceInMethod3_Js.js ++++ new.argumentsReferenceInMethod3_Js.js +@@= skipped -37, +37 lines =@@ + * @param {object} [foo={}] + */ + m(foo?: object): void; +- /** +- * @type object +- */ +- x: object; +- /** +- * @type object +- */ +- y: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod4_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod4_Js.js new file mode 100644 index 0000000000..1ed23cc5a4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod4_Js.js @@ -0,0 +1,54 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod4_Js.ts] //// + +//// [a.js] +class A { + /** + * @param {object} [foo={}] + */ + m(foo = {}) { + const key = "bar"; + + /** + * @type object + */ + this.foo = foo; + + /** + * @type object + */ + const arguments = this.arguments; + + /** + * @type object + */ + this.bar = arguments.bar; + + /** + * @type object + */ + this.baz = arguments[key]; + + /** + * @type object + */ + this.options = arguments; + } + + get arguments() { + return { bar: {} }; + } +} + + + + +//// [a.d.ts] +declare class A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; + get arguments(): { + bar: {}; + }; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod4_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod4_Js.js.diff new file mode 100644 index 0000000000..6778d3d0d6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod4_Js.js.diff @@ -0,0 +1,25 @@ +--- old.argumentsReferenceInMethod4_Js.js ++++ new.argumentsReferenceInMethod4_Js.js +@@= skipped -47, +47 lines =@@ + * @param {object} [foo={}] + */ + m(foo?: object): void; +- /** +- * @type object +- */ +- foo: object; +- /** +- * @type object +- */ +- bar: object; +- /** +- * @type object +- */ +- baz: object; +- /** +- * @type object +- */ +- options: object; + get arguments(): { + bar: {}; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod5_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod5_Js.js new file mode 100644 index 0000000000..371c9a31ef --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod5_Js.js @@ -0,0 +1,37 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod5_Js.ts] //// + +//// [a.js] +const bar = { + arguments: {} +} + +class A { + /** + * @param {object} [foo={}] + */ + m(foo = {}) { + /** + * @type object + */ + this.foo = foo; + + /** + * @type object + */ + this.bar = bar.arguments; + } +} + + + + +//// [a.d.ts] +declare const bar: { + arguments: {}; +}; +declare class A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod5_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod5_Js.js.diff new file mode 100644 index 0000000000..62c7574757 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod5_Js.js.diff @@ -0,0 +1,26 @@ +--- old.argumentsReferenceInMethod5_Js.js ++++ new.argumentsReferenceInMethod5_Js.js +@@= skipped -25, +25 lines =@@ + + + //// [a.d.ts] +-declare namespace bar { +- let arguments: {}; +-} ++declare const bar: { ++ arguments: {}; ++}; + declare class A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; +- /** +- * @type object +- */ +- foo: object; +- /** +- * @type object +- */ +- bar: object; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod6_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod6_Js.js new file mode 100644 index 0000000000..77df4e6229 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod6_Js.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod6_Js.ts] //// + +//// [a.js] +class A { + m() { + /** + * @type object + */ + this.foo = arguments; + } +} + + + + +//// [a.d.ts] +declare class A { + m(): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod6_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod6_Js.js.diff new file mode 100644 index 0000000000..08885367b8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod6_Js.js.diff @@ -0,0 +1,13 @@ +--- old.argumentsReferenceInMethod6_Js.js ++++ new.argumentsReferenceInMethod6_Js.js +@@= skipped -14, +14 lines =@@ + + //// [a.d.ts] + declare class A { +- m(...args: any[]): void; +- /** +- * @type object +- */ +- foo: object; ++ m(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod7_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod7_Js.js new file mode 100644 index 0000000000..b9ade0dabd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod7_Js.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/argumentsReferenceInMethod7_Js.ts] //// + +//// [a.js] +class A { + m() { + /** + * @type Function + */ + this.callee = arguments.callee; + } +} + + + + +//// [a.d.ts] +declare class A { + m(): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod7_Js.js.diff b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod7_Js.js.diff new file mode 100644 index 0000000000..229e94ae61 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInMethod7_Js.js.diff @@ -0,0 +1,13 @@ +--- old.argumentsReferenceInMethod7_Js.js ++++ new.argumentsReferenceInMethod7_Js.js +@@= skipped -14, +14 lines =@@ + + //// [a.d.ts] + declare class A { +- m(...args: any[]): void; +- /** +- * @type Function +- */ +- callee: Function; ++ m(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js.js b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js.js new file mode 100644 index 0000000000..d2b7a2997e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/argumentsReferenceInObjectLiteral_Js.js @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/argumentsReferenceInObjectLiteral_Js.ts] //// + +//// [a.js] +const a = () => { + return { + arguments: [], + }; +}; + +const b = () => { + const c = { + arguments: [], + } + return c; +}; + +const c = () => { + return { + arguments, + }; +} + +const d = () => { + const arguments = undefined; + return { + arguments, + }; +} + + +//// [a.js] +const a = () => { + return { + arguments: [], + }; +}; +const b = () => { + const c = { + arguments: [], + }; + return c; +}; +const c = () => { + return { + arguments, + }; +}; +const d = () => { + const arguments = undefined; + return { + arguments, + }; +}; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsObjectLiteralHasCheckedKeyof.js b/testdata/baselines/reference/submodule/compiler/checkJsObjectLiteralHasCheckedKeyof.js new file mode 100644 index 0000000000..19cd46fb0d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsObjectLiteralHasCheckedKeyof.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/checkJsObjectLiteralHasCheckedKeyof.ts] //// + +//// [file.js] +// @ts-check +const obj = { + x: 1, + y: 2 +}; + +/** + * @type {keyof typeof obj} + */ +let selected = "x"; +selected = "z"; // should fail + + +//// [file.js] +// @ts-check +const obj = { + x: 1, + y: 2 +}; +/** + * @type {keyof typeof obj} + */ +let selected = "x"; +selected = "z"; // should fail diff --git a/testdata/baselines/reference/submodule/compiler/checkJsObjectLiteralIndexSignatures.js b/testdata/baselines/reference/submodule/compiler/checkJsObjectLiteralIndexSignatures.js new file mode 100644 index 0000000000..1cb5b280d0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsObjectLiteralIndexSignatures.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/checkJsObjectLiteralIndexSignatures.ts] //// + +//// [file.js] +// @ts-check + +let n = Math.random(); +let s = `${n}`; + +const numericIndex = { [n]: 1 }; +numericIndex[n].toFixed(); + +const stringIndex = { [s]: 1 }; +stringIndex[s].toFixed(); + + + +//// [file.js] +// @ts-check +let n = Math.random(); +let s = `${n}`; +const numericIndex = { [n]: 1 }; +numericIndex[n].toFixed(); +const stringIndex = { [s]: 1 }; +stringIndex[s].toFixed(); diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment1.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment1.js new file mode 100644 index 0000000000..0a413dc368 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment1.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment1.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment1.js] + +//// [a.js] +/** + * @typedef {Object} Foo + * @property {boolean} a + * @property {boolean} b + */ + +/** @type {Foo} */ +export default { c: false }; + +//// [b.js] +import a from "./a"; +a; + + +//// [checkJsdocTypeTagOnExportAssignment1.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {Object} Foo + * @property {boolean} a + * @property {boolean} b + */ +/** @type {Foo} */ +exports.default = { c: false }; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const a_1 = require("./a"); +a_1.default; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment1.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment1.js.diff new file mode 100644 index 0000000000..cb001a666b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment1.js.diff @@ -0,0 +1,21 @@ +--- old.checkJsdocTypeTagOnExportAssignment1.js ++++ new.checkJsdocTypeTagOnExportAssignment1.js +@@= skipped -19, +19 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment1.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {Object} Foo + * @property {boolean} a + * @property {boolean} b + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + /** @type {Foo} */ + exports.default = { c: false }; + //// [b.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var a_1 = require("./a"); ++const a_1 = require("./a"); + a_1.default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment2.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment2.js new file mode 100644 index 0000000000..b7428a229c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment2.js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment2.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment2.js] + +//// [a.ts] +export interface Foo { + a: number; + b: number; +} + +//// [b.js] +/** @type {import("./a").Foo} */ +export default { c: false }; + +//// [c.js] +import b from "./b"; +b; + + +//// [checkJsdocTypeTagOnExportAssignment2.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @type {import("./a").Foo} */ +exports.default = { c: false }; +//// [c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b_1 = require("./b"); +b_1.default; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment2.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment2.js.diff new file mode 100644 index 0000000000..f4362a6e7c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment2.js.diff @@ -0,0 +1,9 @@ +--- old.checkJsdocTypeTagOnExportAssignment2.js ++++ new.checkJsdocTypeTagOnExportAssignment2.js +@@= skipped -28, +28 lines =@@ + //// [c.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b_1 = require("./b"); ++const b_1 = require("./b"); + b_1.default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment3.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment3.js new file mode 100644 index 0000000000..6bf97fedfe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment3.js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment3.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment3.js] + +//// [a.js] +/** + * @typedef {Object} Foo + * @property {boolean} a + * @property {boolean} b + */ + +const bar = { c: 1 }; + +/** @type {Foo} */ +export default bar; + +//// [b.js] +import a from "./a"; +a; + + +//// [checkJsdocTypeTagOnExportAssignment3.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {Object} Foo + * @property {boolean} a + * @property {boolean} b + */ +const bar = { c: 1 }; +/** @type {Foo} */ +exports.default = bar; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const a_1 = require("./a"); +a_1.default; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment3.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment3.js.diff new file mode 100644 index 0000000000..fc0499aae9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment3.js.diff @@ -0,0 +1,22 @@ +--- old.checkJsdocTypeTagOnExportAssignment3.js ++++ new.checkJsdocTypeTagOnExportAssignment3.js +@@= skipped -21, +21 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment3.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {Object} Foo + * @property {boolean} a + * @property {boolean} b + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + const bar = { c: 1 }; + /** @type {Foo} */ + exports.default = bar; + //// [b.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var a_1 = require("./a"); ++const a_1 = require("./a"); + a_1.default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment4.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment4.js new file mode 100644 index 0000000000..a4067800e7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment4.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment4.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment4.js] + +//// [a.js] +/** + * @typedef {number} Foo + */ + +/** @type {Foo} */ +export default ""; + + + +//// [checkJsdocTypeTagOnExportAssignment4.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {number} Foo + */ +/** @type {Foo} */ +exports.default = ""; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment4.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment4.js.diff new file mode 100644 index 0000000000..aa2903966c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment4.js.diff @@ -0,0 +1,13 @@ +--- old.checkJsdocTypeTagOnExportAssignment4.js ++++ new.checkJsdocTypeTagOnExportAssignment4.js +@@= skipped -14, +14 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment4.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {number} Foo + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + /** @type {Foo} */ + exports.default = ""; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment5.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment5.js new file mode 100644 index 0000000000..bd15e36ff4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment5.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment5.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment5.js] + +//// [a.js] +/** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ + +/** @type {Foo} */ +export default { a: 1, b: 1 }; + +//// [b.js] +import a from "./a"; +a; + + +//// [checkJsdocTypeTagOnExportAssignment5.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ +/** @type {Foo} */ +exports.default = { a: 1, b: 1 }; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const a_1 = require("./a"); +a_1.default; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment5.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment5.js.diff new file mode 100644 index 0000000000..280223a9e8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment5.js.diff @@ -0,0 +1,21 @@ +--- old.checkJsdocTypeTagOnExportAssignment5.js ++++ new.checkJsdocTypeTagOnExportAssignment5.js +@@= skipped -19, +19 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment5.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + /** @type {Foo} */ + exports.default = { a: 1, b: 1 }; + //// [b.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var a_1 = require("./a"); ++const a_1 = require("./a"); + a_1.default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment6.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment6.js new file mode 100644 index 0000000000..e2b514d833 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment6.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment6.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment6.js] + +//// [a.js] +/** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ + +/** @type {Foo} */ +export default { a: 1, b: 1, c: 1 }; + +//// [b.js] +import a from "./a"; +a; + + +//// [checkJsdocTypeTagOnExportAssignment6.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ +/** @type {Foo} */ +exports.default = { a: 1, b: 1, c: 1 }; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const a_1 = require("./a"); +a_1.default; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment6.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment6.js.diff new file mode 100644 index 0000000000..57ee0893a0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment6.js.diff @@ -0,0 +1,21 @@ +--- old.checkJsdocTypeTagOnExportAssignment6.js ++++ new.checkJsdocTypeTagOnExportAssignment6.js +@@= skipped -19, +19 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment6.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + /** @type {Foo} */ + exports.default = { a: 1, b: 1, c: 1 }; + //// [b.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var a_1 = require("./a"); ++const a_1 = require("./a"); + a_1.default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment7.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment7.js new file mode 100644 index 0000000000..481aeef891 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment7.js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment7.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment7.js] + +//// [a.js] +/** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ + +const abc = { a: 1, b: 1, c: 1 }; + +/** @type {Foo} */ +export default abc; + +//// [b.js] +import a from "./a"; +a; + + +//// [checkJsdocTypeTagOnExportAssignment7.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ +const abc = { a: 1, b: 1, c: 1 }; +/** @type {Foo} */ +exports.default = abc; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const a_1 = require("./a"); +a_1.default; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment7.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment7.js.diff new file mode 100644 index 0000000000..d61e82ff4d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment7.js.diff @@ -0,0 +1,22 @@ +--- old.checkJsdocTypeTagOnExportAssignment7.js ++++ new.checkJsdocTypeTagOnExportAssignment7.js +@@= skipped -21, +21 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment7.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {Object} Foo + * @property {number} a + * @property {number} b + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + const abc = { a: 1, b: 1, c: 1 }; + /** @type {Foo} */ + exports.default = abc; + //// [b.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var a_1 = require("./a"); ++const a_1 = require("./a"); + a_1.default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment8.js b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment8.js new file mode 100644 index 0000000000..a13517d674 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment8.js @@ -0,0 +1,32 @@ +//// [tests/cases/compiler/checkJsdocTypeTagOnExportAssignment8.ts] //// + +//// [checkJsdocTypeTagOnExportAssignment8.js] + +//// [a.js] +/** + * @typedef Foo + * @property {string} a + * @property {'b'} b + */ + +/** @type {Foo} */ +export default { + a: 'a', + b: 'b' +} + + +//// [checkJsdocTypeTagOnExportAssignment8.js] +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef Foo + * @property {string} a + * @property {'b'} b + */ +/** @type {Foo} */ +exports.default = { + a: 'a', + b: 'b' +}; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment8.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment8.js.diff new file mode 100644 index 0000000000..f6124fcb3a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsdocTypeTagOnExportAssignment8.js.diff @@ -0,0 +1,16 @@ +--- old.checkJsdocTypeTagOnExportAssignment8.js ++++ new.checkJsdocTypeTagOnExportAssignment8.js +@@= skipped -18, +18 lines =@@ + //// [checkJsdocTypeTagOnExportAssignment8.js] + //// [a.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef Foo + * @property {string} a + * @property {'b'} b + */ +-Object.defineProperty(exports, "__esModule", { value: true }); + /** @type {Foo} */ + exports.default = { + a: 'a', \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkJsxNotSetError.js b/testdata/baselines/reference/submodule/compiler/checkJsxNotSetError.js new file mode 100644 index 0000000000..c5c1f56860 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsxNotSetError.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/checkJsxNotSetError.ts] //// + +//// [foo.jsx] +const Foo = () => ( +
foo
+); +export default Foo; + +//// [bar.jsx] +import Foo from '/foo'; +const a = + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Foo = () => (
foo
); +exports.default = Foo; +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const foo_1 = require("/foo"); +const a = ; diff --git a/testdata/baselines/reference/submodule/compiler/checkJsxNotSetError.js.diff b/testdata/baselines/reference/submodule/compiler/checkJsxNotSetError.js.diff new file mode 100644 index 0000000000..553d172c82 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkJsxNotSetError.js.diff @@ -0,0 +1,9 @@ +--- old.checkJsxNotSetError.js ++++ new.checkJsxNotSetError.js +@@= skipped -17, +17 lines =@@ + //// [bar.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var foo_1 = require("/foo"); ++const foo_1 = require("/foo"); + const a = ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js b/testdata/baselines/reference/submodule/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js new file mode 100644 index 0000000000..1821e57436 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.ts] //// + +//// [index.js] +export function test(fn) { + const composed = function (...args) { } + + Object.defineProperty(composed, 'name', { + value: composed.fn + '_test' + }) + + return composed +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.test = test; +function test(fn) { + const composed = function (...args) { }; + Object.defineProperty(composed, 'name', { + value: composed.fn + '_test' + }); + return composed; +} + + +//// [index.d.ts] +export declare function test(fn: any): (...args: any[]) => void; diff --git a/testdata/baselines/reference/submodule/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js.diff b/testdata/baselines/reference/submodule/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js.diff new file mode 100644 index 0000000000..5f1ffa453b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js.diff @@ -0,0 +1,11 @@ +--- old.checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js ++++ new.checkingObjectDefinePropertyOnFunctionNonexistentPropertyNoCrash1.js +@@= skipped -25, +25 lines =@@ + + + //// [index.d.ts] +-export function test(fn: any): { +- (...args: any[]): void; +- readonly name: string; +-}; ++export declare function test(fn: any): (...args: any[]) => void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError.js b/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError.js new file mode 100644 index 0000000000..5679730a15 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/commonJsExportTypeDeclarationError.ts] //// + +//// [test.js] +module.exports = { + message: "" +} + +//// [types1.ts] +import test from "./test"; +export type test + +//// [types2.ts] +import test from "./test"; +export type test = + +//// [types3.ts] +import test from "./test"; +export type test = test; + + +//// [test.js] +export = { + message: "" +}; +module.exports = { + message: "" +}; +//// [types1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [types2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [types3.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError.js.diff b/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError.js.diff new file mode 100644 index 0000000000..699c658648 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/commonJsExportTypeDeclarationError.js.diff @@ -0,0 +1,12 @@ +--- old.commonJsExportTypeDeclarationError.js ++++ new.commonJsExportTypeDeclarationError.js +@@= skipped -18, +18 lines =@@ + + + //// [test.js] ++export = { ++ message: "" ++}; + module.exports = { + message: "" + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.js b/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.js new file mode 100644 index 0000000000..b716571608 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.js @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/commonJsIsolatedModules.ts] //// + +//// [index.js] +module.exports = {} +var x = 1 + + +//// [index.js] +export = {}; +module.exports = {}; +var x = 1; diff --git a/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.js.diff b/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.js.diff new file mode 100644 index 0000000000..b1da817386 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/commonJsIsolatedModules.js.diff @@ -0,0 +1,9 @@ +--- old.commonJsIsolatedModules.js ++++ new.commonJsIsolatedModules.js +@@= skipped -5, +5 lines =@@ + + + //// [index.js] ++export = {}; + module.exports = {}; + var x = 1; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/constructorPropertyJs.js b/testdata/baselines/reference/submodule/compiler/constructorPropertyJs.js new file mode 100644 index 0000000000..cce9cddb8d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/constructorPropertyJs.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/constructorPropertyJs.ts] //// + +//// [a.js] +class C { + /** + * @param {any} a + */ + foo(a) { + this.constructor = a; + } +} + + + + +//// [a.d.ts] +declare class C { + /** + * @param {any} a + */ + foo(a: any): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js new file mode 100644 index 0000000000..b8b0aba5fd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js @@ -0,0 +1,100 @@ +//// [tests/cases/compiler/declarationEmitCastReusesTypeNode4.ts] //// + +//// [input.js] +/** + * @typedef {{ } & { name?: string }} P + */ + +const something = /** @type {*} */(null); + +export let vLet = /** @type {P} */(something); +export const vConst = /** @type {P} */(something); + +export function fn(p = /** @type {P} */(something)) {} + +/** @param {number} req */ +export function fnWithRequiredDefaultParam(p = /** @type {P} */(something), req) {} + +export class C { + field = /** @type {P} */(something); + /** @optional */ optField = /** @type {P} */(something); // not a thing + /** @readonly */ roFiled = /** @type {P} */(something); + method(p = /** @type {P} */(something)) {} + /** @param {number} req */ + methodWithRequiredDefault(p = /** @type {P} */(something), req) {} + + constructor(ctorField = /** @type {P} */(something)) {} + + get x() { return /** @type {P} */(something) } + set x(v) { } +} + +export default /** @type {P} */(something); + +// allows `undefined` on the input side, thanks to the initializer +/** + * + * @param {P} x + * @param {number} b + */ +export function fnWithPartialAnnotationOnDefaultparam(x = /** @type {P} */(something), b) {} + + + +//// [input.d.ts] +export type P = {} & { + name?: string; +}; +export declare let vLet: { + name?: string; +}; +export declare const vConst: { + name?: string; +}; +export declare function fn(p?: { + name?: string; +}): void; +/** @param {number} req */ +export declare function fnWithRequiredDefaultParam(p: { + name?: string; +}, req: number): void; +export declare class C { + field: { + name?: string; + }; + /** @optional */ optField: { + name?: string; + }; // not a thing + /** @readonly */ readonly roFiled: { + name?: string; + }; + method(p?: { + name?: string; + }): void; + /** @param {number} req */ + methodWithRequiredDefault(p: { + name?: string; + }, req: number): void; + constructor(ctorField?: { + name?: string; + }); + get x(): { + name?: string; + }; + set x(v: { + name?: string; + }); +} +declare const _default: { + name?: string; +}; +export default /** @type {P} */ _default; +// allows `undefined` on the input side, thanks to the initializer +/** + * + * @param {P} x + * @param {number} b + */ +export declare function fnWithPartialAnnotationOnDefaultparam(x: { + name?: string; +}, b: number): void; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff new file mode 100644 index 0000000000..f517d0bdc5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=false).js.diff @@ -0,0 +1,82 @@ +--- old.declarationEmitCastReusesTypeNode4(strictnullchecks=false).js ++++ new.declarationEmitCastReusesTypeNode4(strictnullchecks=false).js +@@= skipped -41, +41 lines =@@ + + + //// [input.d.ts] +-export function fn(p?: P): void; ++export type P = {} & { ++ name?: string; ++}; ++export declare let vLet: { ++ name?: string; ++}; ++export declare const vConst: { ++ name?: string; ++}; ++export declare function fn(p?: { ++ name?: string; ++}): void; + /** @param {number} req */ +-export function fnWithRequiredDefaultParam(p: P, req: number): void; ++export declare function fnWithRequiredDefaultParam(p: { ++ name?: string; ++}, req: number): void; ++export declare class C { ++ field: { ++ name?: string; ++ }; ++ /** @optional */ optField: { ++ name?: string; ++ }; // not a thing ++ /** @readonly */ readonly roFiled: { ++ name?: string; ++ }; ++ method(p?: { ++ name?: string; ++ }): void; ++ /** @param {number} req */ ++ methodWithRequiredDefault(p: { ++ name?: string; ++ }, req: number): void; ++ constructor(ctorField?: { ++ name?: string; ++ }); ++ get x(): { ++ name?: string; ++ }; ++ set x(v: { ++ name?: string; ++ }); ++} ++declare const _default: { ++ name?: string; ++}; ++export default /** @type {P} */ _default; ++// allows `undefined` on the input side, thanks to the initializer + /** + * + * @param {P} x + * @param {number} b + */ +-export function fnWithPartialAnnotationOnDefaultparam(x: P, b: number): void; +-export let vLet: P; +-export const vConst: P; +-export class C { +- constructor(ctorField?: P); +- field: P; +- /** @optional */ optField: P; +- /** @readonly */ readonly roFiled: P; +- method(p?: P): void; +- /** @param {number} req */ +- methodWithRequiredDefault(p: P, req: number): void; +- set x(v: P); +- get x(): P; +-} +-declare const _default: P; +-export default _default; +-export type P = {} & { ++export declare function fnWithPartialAnnotationOnDefaultparam(x: { + name?: string; +-}; ++}, b: number): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js new file mode 100644 index 0000000000..c182396ff6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js @@ -0,0 +1,98 @@ +//// [tests/cases/compiler/declarationEmitCastReusesTypeNode4.ts] //// + +//// [input.js] +/** + * @typedef {{ } & { name?: string }} P + */ + +const something = /** @type {*} */(null); + +export let vLet = /** @type {P} */(something); +export const vConst = /** @type {P} */(something); + +export function fn(p = /** @type {P} */(something)) {} + +/** @param {number} req */ +export function fnWithRequiredDefaultParam(p = /** @type {P} */(something), req) {} + +export class C { + field = /** @type {P} */(something); + /** @optional */ optField = /** @type {P} */(something); // not a thing + /** @readonly */ roFiled = /** @type {P} */(something); + method(p = /** @type {P} */(something)) {} + /** @param {number} req */ + methodWithRequiredDefault(p = /** @type {P} */(something), req) {} + + constructor(ctorField = /** @type {P} */(something)) {} + + get x() { return /** @type {P} */(something) } + set x(v) { } +} + +export default /** @type {P} */(something); + +// allows `undefined` on the input side, thanks to the initializer +/** + * + * @param {P} x + * @param {number} b + */ +export function fnWithPartialAnnotationOnDefaultparam(x = /** @type {P} */(something), b) {} + + + +//// [input.d.ts] +export type P = {} & { + name?: string; +}; +export declare let vLet: { + name?: string | undefined; +}; +export declare const vConst: { + name?: string | undefined; +}; +export declare function fn(p?: { + name?: string | undefined; +}): void; +/** @param {number} req */ +export declare function fnWithRequiredDefaultParam(p: { + name?: string | undefined; +}, req: number): void; +export declare class C { + field: { + name?: string | undefined; + }; + /** @optional */ optField: { + name?: string | undefined; + }; // not a thing + /** @readonly */ readonly roFiled: { + name?: string | undefined; + }; + method(p?: { + name?: string | undefined; + }): void; + /** @param {number} req */ + methodWithRequiredDefault(p: { + name?: string | undefined; + }, req: number): void; + constructor(ctorField?: { + name?: string | undefined; + }); + get x(): { + name?: string | undefined; + }; + set x(v: { + name?: string | undefined; + }); +} +declare const _default: { + name?: string | undefined; +}; +export default /** @type {P} */ _default; +// allows `undefined` on the input side, thanks to the initializer +/** + * + * @param {P} x + * @param {number} b + */ +export declare function fnWithPartialAnnotationOnDefaultparam(x: P, b: number): void; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff new file mode 100644 index 0000000000..fd2e062b86 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitCastReusesTypeNode4(strictnullchecks=true).js.diff @@ -0,0 +1,81 @@ +--- old.declarationEmitCastReusesTypeNode4(strictnullchecks=true).js ++++ new.declarationEmitCastReusesTypeNode4(strictnullchecks=true).js +@@= skipped -41, +41 lines =@@ + + + //// [input.d.ts] +-export function fn(p?: P): void; ++export type P = {} & { ++ name?: string; ++}; ++export declare let vLet: { ++ name?: string | undefined; ++}; ++export declare const vConst: { ++ name?: string | undefined; ++}; ++export declare function fn(p?: { ++ name?: string | undefined; ++}): void; + /** @param {number} req */ +-export function fnWithRequiredDefaultParam(p: P | undefined, req: number): void; ++export declare function fnWithRequiredDefaultParam(p: { ++ name?: string | undefined; ++}, req: number): void; ++export declare class C { ++ field: { ++ name?: string | undefined; ++ }; ++ /** @optional */ optField: { ++ name?: string | undefined; ++ }; // not a thing ++ /** @readonly */ readonly roFiled: { ++ name?: string | undefined; ++ }; ++ method(p?: { ++ name?: string | undefined; ++ }): void; ++ /** @param {number} req */ ++ methodWithRequiredDefault(p: { ++ name?: string | undefined; ++ }, req: number): void; ++ constructor(ctorField?: { ++ name?: string | undefined; ++ }); ++ get x(): { ++ name?: string | undefined; ++ }; ++ set x(v: { ++ name?: string | undefined; ++ }); ++} ++declare const _default: { ++ name?: string | undefined; ++}; ++export default /** @type {P} */ _default; ++// allows `undefined` on the input side, thanks to the initializer + /** + * + * @param {P} x + * @param {number} b + */ +-export function fnWithPartialAnnotationOnDefaultparam(x: P | undefined, b: number): void; +-export let vLet: P; +-export const vConst: P; +-export class C { +- constructor(ctorField?: P); +- field: P; +- /** @optional */ optField: P; +- /** @readonly */ readonly roFiled: P; +- method(p?: P): void; +- /** @param {number} req */ +- methodWithRequiredDefault(p: P | undefined, req: number): void; +- set x(v: P); +- get x(): P; +-} +-declare const _default: P; +-export default _default; +-export type P = {} & { +- name?: string; +-}; ++export declare function fnWithPartialAnnotationOnDefaultparam(x: P, b: number): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassAccessorsJs1.js b/testdata/baselines/reference/submodule/compiler/declarationEmitClassAccessorsJs1.js new file mode 100644 index 0000000000..4d7dddc9e5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassAccessorsJs1.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/declarationEmitClassAccessorsJs1.ts] //// + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/58167 + +export class VFile { + /** + * @returns {string} + */ + get path() { + return '' + } + + /** + * @param {URL | string} path + */ + set path(path) { + } +} + + + + +//// [index.d.ts] +// https://github.com/microsoft/TypeScript/issues/58167 +export declare class VFile { + /** + * @returns {string} + */ + get path(): string; + /** + * @param {URL | string} path + */ + set path(path: URL | string); +} diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassAccessorsJs1.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitClassAccessorsJs1.js.diff new file mode 100644 index 0000000000..cdaba99bfd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassAccessorsJs1.js.diff @@ -0,0 +1,22 @@ +--- old.declarationEmitClassAccessorsJs1.js ++++ new.declarationEmitClassAccessorsJs1.js +@@= skipped -21, +21 lines =@@ + + + //// [index.d.ts] +-export class VFile { +- /** +- * @param {URL | string} path +- */ +- set path(path: URL | string); ++// https://github.com/microsoft/TypeScript/issues/58167 ++export declare class VFile { + /** + * @returns {string} + */ + get path(): string; ++ /** ++ * @param {URL | string} path ++ */ ++ set path(path: URL | string); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs.js b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs.js new file mode 100644 index 0000000000..7ee4b84e7e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/declarationEmitClassSetAccessorParamNameInJs.ts] //// + +//// [foo.js] +// https://github.com/microsoft/TypeScript/issues/55391 + +export class Foo { + /** + * Bar. + * + * @param {string} baz Baz. + */ + set bar(baz) {} +} + + + + +//// [foo.d.ts] +// https://github.com/microsoft/TypeScript/issues/55391 +export declare class Foo { + /** + * Bar. + * + * @param {string} baz Baz. + */ + set bar(baz: string); +} diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs.js.diff new file mode 100644 index 0000000000..1fadaf7c83 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs.js.diff @@ -0,0 +1,12 @@ +--- old.declarationEmitClassSetAccessorParamNameInJs.js ++++ new.declarationEmitClassSetAccessorParamNameInJs.js +@@= skipped -15, +15 lines =@@ + + + //// [foo.d.ts] +-export class Foo { ++// https://github.com/microsoft/TypeScript/issues/55391 ++export declare class Foo { + /** + * Bar. + * \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs2.js b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs2.js new file mode 100644 index 0000000000..1ffac68391 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs2.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/declarationEmitClassSetAccessorParamNameInJs2.ts] //// + +//// [foo.js] +export class Foo { + /** + * Bar. + * + * @param {{ prop: string }} baz Baz. + */ + set bar({}) {} +} + + + + +//// [foo.d.ts] +export declare class Foo { + /** + * Bar. + * + * @param {{ prop: string }} baz Baz. + */ + set bar({}: {}); +} diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs2.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs2.js.diff new file mode 100644 index 0000000000..11204c7a73 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs2.js.diff @@ -0,0 +1,18 @@ +--- old.declarationEmitClassSetAccessorParamNameInJs2.js ++++ new.declarationEmitClassSetAccessorParamNameInJs2.js +@@= skipped -13, +13 lines =@@ + + + //// [foo.d.ts] +-export class Foo { ++export declare class Foo { + /** + * Bar. + * + * @param {{ prop: string }} baz Baz. + */ +- set bar({}: { +- prop: string; +- }); ++ set bar({}: {}); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs3.js b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs3.js new file mode 100644 index 0000000000..cf8fc54afd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs3.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/declarationEmitClassSetAccessorParamNameInJs3.ts] //// + +//// [foo.js] +export class Foo { + /** + * Bar. + * + * @param {{ prop: string | undefined }} baz Baz. + */ + set bar({ prop = 'foo' }) {} +} + + + + +//// [foo.d.ts] +export declare class Foo { + /** + * Bar. + * + * @param {{ prop: string | undefined }} baz Baz. + */ + set bar({ prop }: { + prop?: string; + }); +} diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs3.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs3.js.diff new file mode 100644 index 0000000000..fb69b41ff0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitClassSetAccessorParamNameInJs3.js.diff @@ -0,0 +1,18 @@ +--- old.declarationEmitClassSetAccessorParamNameInJs3.js ++++ new.declarationEmitClassSetAccessorParamNameInJs3.js +@@= skipped -13, +13 lines =@@ + + + //// [foo.d.ts] +-export class Foo { ++export declare class Foo { + /** + * Bar. + * + * @param {{ prop: string | undefined }} baz Baz. + */ + set bar({ prop }: { +- prop: string | undefined; ++ prop?: string; + }); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitExpressionInExtends6.js b/testdata/baselines/reference/submodule/compiler/declarationEmitExpressionInExtends6.js new file mode 100644 index 0000000000..184a048834 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitExpressionInExtends6.js @@ -0,0 +1,58 @@ +//// [tests/cases/compiler/declarationEmitExpressionInExtends6.ts] //// + +//// [index.d.ts] +declare const require: any; + +//// [a.ts] +export class Foo {} + +//// [b.ts] +import * as A from "./a"; +const { Foo } = A; +export default class extends Foo {} + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo = void 0; +class Foo { +} +exports.Foo = Foo; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const A = require("./a"); +const { Foo } = A; +class default_1 extends Foo { +} +exports.default = default_1; + + +//// [a.d.ts] +export declare class Foo { +} +//// [b.d.ts] +export default class extends Foo { +} + + +//// [DtsFileErrors] + + +/b.d.ts(1,30): error TS2304: Cannot find name 'Foo'. + + +==== /node_modules/@types/node/index.d.ts (0 errors) ==== + declare const require: any; + +==== /a.d.ts (0 errors) ==== + export declare class Foo { + } + +==== /b.d.ts (1 errors) ==== + export default class extends Foo { + ~~~ +!!! error TS2304: Cannot find name 'Foo'. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitExpressionInExtends6.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitExpressionInExtends6.js.diff new file mode 100644 index 0000000000..709c3a16d3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitExpressionInExtends6.js.diff @@ -0,0 +1,41 @@ +--- old.declarationEmitExpressionInExtends6.js ++++ new.declarationEmitExpressionInExtends6.js +@@= skipped -21, +21 lines =@@ + //// [b.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var A = require("./a"); ++const A = require("./a"); + const { Foo } = A; + class default_1 extends Foo { + } +@@= skipped -11, +11 lines =@@ + export declare class Foo { + } + //// [b.d.ts] +-import * as A from "./a"; +-declare const Foo: typeof A.Foo; + export default class extends Foo { + } +-export {}; ++ ++ ++//// [DtsFileErrors] ++ ++ ++/b.d.ts(1,30): error TS2304: Cannot find name 'Foo'. ++ ++ ++==== /node_modules/@types/node/index.d.ts (0 errors) ==== ++ declare const require: any; ++ ++==== /a.d.ts (0 errors) ==== ++ export declare class Foo { ++ } ++ ++==== /b.d.ts (1 errors) ==== ++ export default class extends Foo { ++ ~~~ ++!!! error TS2304: Cannot find name 'Foo'. ++ } ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitInvalidReferenceAllowJs.js b/testdata/baselines/reference/submodule/compiler/declarationEmitInvalidReferenceAllowJs.js new file mode 100644 index 0000000000..846b1decaf --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitInvalidReferenceAllowJs.js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/declarationEmitInvalidReferenceAllowJs.ts] //// + +//// [declarationEmitInvalidReferenceAllowJs.ts] +/// +var x = 0; + + +//// [declarationEmitInvalidReferenceAllowJs.js] +/// +var x = 0; + + +//// [declarationEmitInvalidReferenceAllowJs.d.ts] +declare var x: number; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitJsReExportDefault.js b/testdata/baselines/reference/submodule/compiler/declarationEmitJsReExportDefault.js new file mode 100644 index 0000000000..7b284cf5f8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitJsReExportDefault.js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/declarationEmitJsReExportDefault.ts] //// + +//// [package.json] +{"name": "a", "version": "0.0.0"} +//// [index.d.ts] +export const a = 123; + +//// [index.mjs] +export {default as mod} from 'a'; + + + + +//// [index.d.mts] +export { default as mod } from 'a'; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitJsReExportDefault.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitJsReExportDefault.js.diff new file mode 100644 index 0000000000..a0a06bc96a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitJsReExportDefault.js.diff @@ -0,0 +1,8 @@ +--- old.declarationEmitJsReExportDefault.js ++++ new.declarationEmitJsReExportDefault.js +@@= skipped -11, +11 lines =@@ + + + //// [index.d.mts] +-export { default as mod } from "a"; ++export { default as mod } from 'a'; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitLateBoundJSAssignments.js b/testdata/baselines/reference/submodule/compiler/declarationEmitLateBoundJSAssignments.js new file mode 100644 index 0000000000..b3e5b3073c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitLateBoundJSAssignments.js @@ -0,0 +1,28 @@ +//// [tests/cases/compiler/declarationEmitLateBoundJSAssignments.ts] //// + +//// [file.js] +export function foo() {} +foo.bar = 12; +const _private = Symbol(); +foo[_private] = "ok"; +const strMem = "strMemName"; +foo[strMem] = "ok"; +const dashStrMem = "dashed-str-mem"; +foo[dashStrMem] = "ok"; +const numMem = 42; +foo[numMem] = "ok"; + +/** @type {string} */ +const x = foo[_private]; +/** @type {string} */ +const y = foo[strMem]; +/** @type {string} */ +const z = foo[numMem]; +/** @type {string} */ +const a = foo[dashStrMem]; + + + + +//// [file.d.ts] +export declare function foo(): void; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitLateBoundJSAssignments.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitLateBoundJSAssignments.js.diff new file mode 100644 index 0000000000..62c383b58d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitLateBoundJSAssignments.js.diff @@ -0,0 +1,12 @@ +--- old.declarationEmitLateBoundJSAssignments.js ++++ new.declarationEmitLateBoundJSAssignments.js +@@= skipped -24, +24 lines =@@ + + + //// [file.d.ts] +-export function foo(): void; +-export namespace foo { +- let bar: number; +- let strMemName: string; +-} ++export declare function foo(): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitMethodDeclaration.js b/testdata/baselines/reference/submodule/compiler/declarationEmitMethodDeclaration.js new file mode 100644 index 0000000000..806f2dbe29 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitMethodDeclaration.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/declarationEmitMethodDeclaration.ts] //// + +//// [a.js] +export default { + methods: { + foo() { } + } +} + + + + +//// [a.d.ts] +declare const _default: { + methods: { + foo(): void; + }; +}; +export default _default; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitMethodDeclaration.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitMethodDeclaration.js.diff new file mode 100644 index 0000000000..ce16b9b911 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitMethodDeclaration.js.diff @@ -0,0 +1,17 @@ +--- old.declarationEmitMethodDeclaration.js ++++ new.declarationEmitMethodDeclaration.js +@@= skipped -10, +10 lines =@@ + + + //// [a.d.ts] +-declare namespace _default { +- namespace methods { +- function foo(): void; +- } +-} ++declare const _default: { ++ methods: { ++ foo(): void; ++ }; ++}; + export default _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitObjectLiteralAccessorsJs1.js b/testdata/baselines/reference/submodule/compiler/declarationEmitObjectLiteralAccessorsJs1.js new file mode 100644 index 0000000000..72b37a745b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitObjectLiteralAccessorsJs1.js @@ -0,0 +1,92 @@ +//// [tests/cases/compiler/declarationEmitObjectLiteralAccessorsJs1.ts] //// + +//// [index.js] +// same type accessors +export const obj1 = { + /** + * my awesome getter (first in source order) + * @returns {string} + */ + get x() { + return ""; + }, + /** + * my awesome setter (second in source order) + * @param {string} a + */ + set x(a) {}, +}; + +// divergent accessors +export const obj2 = { + /** + * my awesome getter + * @returns {string} + */ + get x() { + return ""; + }, + /** + * my awesome setter + * @param {number} a + */ + set x(a) {}, +}; + +export const obj3 = { + /** + * my awesome getter + * @returns {string} + */ + get x() { + return ""; + }, +}; + +export const obj4 = { + /** + * my awesome setter + * @param {number} a + */ + set x(a) {}, +}; + + + + +//// [index.d.ts] +// same type accessors +export declare const obj1: { + /** + * my awesome getter (first in source order) + * @returns {string} + */ + x: string; +}; +// divergent accessors +export declare const obj2: { + /** + * my awesome getter + * @returns {string} + */ + get x(): string; + /** + * my awesome setter + * @param {number} a + */ + set x(a: number); +}; +export declare const obj3: { + /** + * my awesome getter + * @returns {string} + */ + readonly x: string; +}; +export declare const obj4: { + /** + * my awesome setter + * @param {number} a + */ + x: number; +}; diff --git a/testdata/baselines/reference/submodule/compiler/declarationEmitObjectLiteralAccessorsJs1.js.diff b/testdata/baselines/reference/submodule/compiler/declarationEmitObjectLiteralAccessorsJs1.js.diff new file mode 100644 index 0000000000..da768af639 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/declarationEmitObjectLiteralAccessorsJs1.js.diff @@ -0,0 +1,49 @@ +--- old.declarationEmitObjectLiteralAccessorsJs1.js ++++ new.declarationEmitObjectLiteralAccessorsJs1.js +@@= skipped -54, +54 lines =@@ + + + //// [index.d.ts] +-export namespace obj1 { +- let x: string; +-} +-export const obj2: { ++// same type accessors ++export declare const obj1: { ++ /** ++ * my awesome getter (first in source order) ++ * @returns {string} ++ */ ++ x: string; ++}; ++// divergent accessors ++export declare const obj2: { + /** + * my awesome getter + * @returns {string} +@@= skipped -15, +21 lines =@@ + */ + set x(a: number); + }; +-export namespace obj3 { +- const x_1: string; +- export { x_1 as x }; +-} +-export namespace obj4 { +- let x_2: number; +- export { x_2 as x }; +-} ++export declare const obj3: { ++ /** ++ * my awesome getter ++ * @returns {string} ++ */ ++ readonly x: string; ++}; ++export declare const obj4: { ++ /** ++ * my awesome setter ++ * @param {number} a ++ */ ++ x: number; ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.js b/testdata/baselines/reference/submodule/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.js new file mode 100644 index 0000000000..30b3c81da4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.js @@ -0,0 +1,51 @@ +//// [tests/cases/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.ts] //// + +//// [library.d.ts] +export class Foo { + props: T; + state: U; + constructor(props: T, state: U); +} + +//// [component.js] +import { Foo } from "./library"; +export class MyFoo extends Foo { + member; +} + +//// [typed_component.ts] +import { MyFoo } from "./component"; +export class TypedFoo extends MyFoo { + constructor() { + super({x: "string", y: 42}, { value: undefined }); + this.props.x; + this.props.y; + this.state.value; + this.member; + } +} + +//// [component.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MyFoo = void 0; +const library_1 = require("./library"); +class MyFoo extends library_1.Foo { + member; +} +exports.MyFoo = MyFoo; +//// [typed_component.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TypedFoo = void 0; +const component_1 = require("./component"); +class TypedFoo extends component_1.MyFoo { + constructor() { + super({ x: "string", y: 42 }, { value: undefined }); + this.props.x; + this.props.y; + this.state.value; + this.member; + } +} +exports.TypedFoo = TypedFoo; diff --git a/testdata/baselines/reference/submodule/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.js.diff b/testdata/baselines/reference/submodule/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.js.diff new file mode 100644 index 0000000000..96490a6aa9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/defaultPropsEmptyCurlyBecomesAnyForJs.js.diff @@ -0,0 +1,21 @@ +--- old.defaultPropsEmptyCurlyBecomesAnyForJs.js ++++ new.defaultPropsEmptyCurlyBecomesAnyForJs.js +@@= skipped -28, +28 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.MyFoo = void 0; +-var library_1 = require("./library"); ++const library_1 = require("./library"); + class MyFoo extends library_1.Foo { ++ member; + } + exports.MyFoo = MyFoo; + //// [typed_component.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.TypedFoo = void 0; +-var component_1 = require("./component"); ++const component_1 = require("./component"); + class TypedFoo extends component_1.MyFoo { + constructor() { + super({ x: "string", y: 42 }, { value: undefined }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/elidedJSImport1.js b/testdata/baselines/reference/submodule/compiler/elidedJSImport1.js new file mode 100644 index 0000000000..33b1a1f9a3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/elidedJSImport1.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/elidedJSImport1.ts] //// + +//// [caller.js] +import * as fs from 'fs'; +import TruffleContract from '@truffle/contract'; // Runtime err: this import is elided in transform +console.log(fs); +console.log('TruffleContract is ', typeof TruffleContract, TruffleContract); // `TruffleContract` is considered 'unused' + + +//// [index.d.ts] +declare module "@truffle/contract" { + interface ContractObject { + foo: number; + } + namespace TruffleContract { + export type Contract = ContractObject; + } + export default TruffleContract; +} + +//// [caller.js] +import * as fs from 'fs'; +import TruffleContract from '@truffle/contract'; // Runtime err: this import is elided in transform +console.log(fs); +console.log('TruffleContract is ', typeof TruffleContract, TruffleContract); // `TruffleContract` is considered 'unused' diff --git a/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=commonjs).js new file mode 100644 index 0000000000..13779bbdd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=commonjs).js @@ -0,0 +1,87 @@ +//// [tests/cases/compiler/elidedJSImport2.ts] //// + +//// [index.js] +import { Foo } from "./other.js"; +import * as other from "./other.js"; +import defaultFoo from "./other.js"; + +const x = new Foo(); +const y = other.Foo(); +const z = new defaultFoo(); + +//// [other.d.ts] +export interface Foo { + bar: number; +} + +export default interface Bar { + foo: number; +} + +//// [other.js] +export class Foo { + bar = 2.4; +} + +export default class Bar { + foo = 1.2; +} + + +//// [index.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const other_js_1 = require("./other.js"); +const other = __importStar(require("./other.js")); +const other_js_2 = __importDefault(require("./other.js")); +const x = new other_js_1.Foo(); +const y = other.Foo(); +const z = new other_js_2.default(); +//// [other.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo = void 0; +class Foo { + bar = 2.4; +} +exports.Foo = Foo; +class Bar { + foo = 1.2; +} +exports.default = Bar; diff --git a/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=commonjs).js.diff b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=commonjs).js.diff new file mode 100644 index 0000000000..5568f5f597 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=commonjs).js.diff @@ -0,0 +1,32 @@ +--- old.elidedJSImport2(module=commonjs).js ++++ new.elidedJSImport2(module=commonjs).js +@@= skipped -66, +66 lines =@@ + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); +-var other_js_1 = require("./other.js"); +-var other = __importStar(require("./other.js")); +-var other_js_2 = __importDefault(require("./other.js")); ++const other_js_1 = require("./other.js"); ++const other = __importStar(require("./other.js")); ++const other_js_2 = __importDefault(require("./other.js")); + const x = new other_js_1.Foo(); + const y = other.Foo(); + const z = new other_js_2.default(); +@@= skipped -11, +11 lines =@@ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Foo = void 0; + class Foo { +- constructor() { +- this.bar = 2.4; +- } ++ bar = 2.4; + } + exports.Foo = Foo; + class Bar { +- constructor() { +- this.foo = 1.2; +- } ++ foo = 1.2; + } + exports.default = Bar; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=es2022).js b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=es2022).js new file mode 100644 index 0000000000..9922456eca --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=es2022).js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/elidedJSImport2.ts] //// + +//// [index.js] +import { Foo } from "./other.js"; +import * as other from "./other.js"; +import defaultFoo from "./other.js"; + +const x = new Foo(); +const y = other.Foo(); +const z = new defaultFoo(); + +//// [other.d.ts] +export interface Foo { + bar: number; +} + +export default interface Bar { + foo: number; +} + +//// [other.js] +export class Foo { + bar = 2.4; +} + +export default class Bar { + foo = 1.2; +} + + +//// [index.js] +import { Foo } from "./other.js"; +import * as other from "./other.js"; +import defaultFoo from "./other.js"; +const x = new Foo(); +const y = other.Foo(); +const z = new defaultFoo(); +//// [other.js] +export class Foo { + bar = 2.4; +} +export default class Bar { + foo = 1.2; +} diff --git a/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=es2022).js.diff b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=es2022).js.diff new file mode 100644 index 0000000000..b51f16292c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/elidedJSImport2(module=es2022).js.diff @@ -0,0 +1,17 @@ +--- old.elidedJSImport2(module=es2022).js ++++ new.elidedJSImport2(module=es2022).js +@@= skipped -36, +36 lines =@@ + const z = new defaultFoo(); + //// [other.js] + export class Foo { +- constructor() { +- this.bar = 2.4; +- } ++ bar = 2.4; + } + export default class Bar { +- constructor() { +- this.foo = 1.2; +- } ++ foo = 1.2; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionSymbolPropertyJs.js b/testdata/baselines/reference/submodule/compiler/expandoFunctionSymbolPropertyJs.js new file mode 100644 index 0000000000..4ae2bd512e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionSymbolPropertyJs.js @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/expandoFunctionSymbolPropertyJs.ts] //// + +//// [types.ts] +export const symb = Symbol(); + +export interface TestSymb { + (): void; + readonly [symb]: boolean; +} + +//// [a.js] +import { symb } from "./types"; + +/** + * @returns {import("./types").TestSymb} + */ +export function test() { + function inner() {} + inner[symb] = true; + return inner; +} + +//// [types.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.symb = void 0; +exports.symb = Symbol(); +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.test = test; +const types_1 = require("./types"); +/** + * @returns {import("./types").TestSymb} + */ +function test() { + function inner() { } + inner[types_1.symb] = true; + return inner; +} + + +//// [types.d.ts] +export declare const symb: unique symbol; +export interface TestSymb { + (): void; + readonly [symb]: boolean; +} +//// [a.d.ts] +/** + * @returns {import("./types").TestSymb} + */ +export declare function test(): import("./types").TestSymb; diff --git a/testdata/baselines/reference/submodule/compiler/expandoFunctionSymbolPropertyJs.js.diff b/testdata/baselines/reference/submodule/compiler/expandoFunctionSymbolPropertyJs.js.diff new file mode 100644 index 0000000000..3c63bfc7f6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/expandoFunctionSymbolPropertyJs.js.diff @@ -0,0 +1,17 @@ +--- old.expandoFunctionSymbolPropertyJs.js ++++ new.expandoFunctionSymbolPropertyJs.js +@@= skipped -28, +28 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.test = test; +-var types_1 = require("./types"); ++const types_1 = require("./types"); + /** + * @returns {import("./types").TestSymb} + */ +@@= skipped -21, +21 lines =@@ + /** + * @returns {import("./types").TestSymb} + */ +-export function test(): import("./types").TestSymb; ++export declare function test(): import("./types").TestSymb; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/exportDefaultMarksIdentifierAsUsed.js b/testdata/baselines/reference/submodule/compiler/exportDefaultMarksIdentifierAsUsed.js new file mode 100644 index 0000000000..5772dcfa15 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/exportDefaultMarksIdentifierAsUsed.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/exportDefaultMarksIdentifierAsUsed.ts] //// + +//// [a.js] +const Obj = {}; +export default Obj; +//// [b.js] +import Obj from './a'; + +Obj.fn = function() {}; + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Obj = {}; +exports.default = Obj; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const a_1 = require("./a"); +a_1.default.fn = function () { }; diff --git a/testdata/baselines/reference/submodule/compiler/extendedUnicodePlaneIdentifiersJSDoc.js b/testdata/baselines/reference/submodule/compiler/extendedUnicodePlaneIdentifiersJSDoc.js new file mode 100644 index 0000000000..f852621e8e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/extendedUnicodePlaneIdentifiersJSDoc.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/extendedUnicodePlaneIdentifiersJSDoc.ts] //// + +//// [file.js] +/** + * Adds + * @param {number} 𝑚 + * @param {number} 𝑀 + */ +function foo(𝑚, 𝑀) { + console.log(𝑀 + 𝑚); +} + +//// [file.js] +/** + * Adds + * @param {number} 𝑚 + * @param {number} 𝑀 + */ +function foo(𝑚, 𝑀) { + console.log(𝑀 + 𝑚); +} diff --git a/testdata/baselines/reference/submodule/compiler/extendsJavaScript.js b/testdata/baselines/reference/submodule/compiler/extendsJavaScript.js new file mode 100644 index 0000000000..7b01f9fca9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/extendsJavaScript.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/extendsJavaScript.ts] //// + +//// [extendsJavaScript.js] +/** + * @extends {SomeBase} + */ +class MyClass { + +} + + +//// [extendsJavaScript.js] +/** + * @extends {SomeBase} + */ +class MyClass { +} diff --git a/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.js b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.js new file mode 100644 index 0000000000..44cdb16ca0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/fileReferencesWithNoExtensions.ts] //// + +//// [t.ts] +/// +/// +/// +var a = aa; // Check that a.ts is referenced +var b = bb; // Check that b.d.ts is referenced +var c = cc; // Check that c.ts has precedence over c.d.ts + +//// [a.ts] +var aa = 1; + +//// [b.d.ts] +declare var bb: number; + +//// [c.ts] +var cc = 1; + +//// [c.d.ts] +declare var xx: number; + + +//// [t.js] +/// +/// +/// +var a = aa; // Check that a.ts is referenced +var b = bb; // Check that b.d.ts is referenced +var c = cc; // Check that c.ts has precedence over c.d.ts +//// [a.js] +var aa = 1; +//// [c.js] +var cc = 1; diff --git a/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.js.diff b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.js.diff new file mode 100644 index 0000000000..685c7ae9d1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.js.diff @@ -0,0 +1,21 @@ +--- old.fileReferencesWithNoExtensions.js ++++ new.fileReferencesWithNoExtensions.js +@@= skipped -20, +20 lines =@@ + declare var xx: number; + + +-//// [a.js] +-var aa = 1; +-//// [c.js] +-var cc = 1; + //// [t.js] + /// + /// +@@= skipped -11, +7 lines =@@ + var a = aa; // Check that a.ts is referenced + var b = bb; // Check that b.d.ts is referenced + var c = cc; // Check that c.ts has precedence over c.d.ts ++//// [a.js] ++var aa = 1; ++//// [c.js] ++var cc = 1; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.symbols b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.symbols new file mode 100644 index 0000000000..eea902cac8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.symbols @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/fileReferencesWithNoExtensions.ts] //// + +=== t.ts === +/// +/// +/// +var a = aa; // Check that a.ts is referenced +>a : Symbol(a, Decl(t.ts, 3, 3)) +>aa : Symbol(aa, Decl(a.ts, 0, 3)) + +var b = bb; // Check that b.d.ts is referenced +>b : Symbol(b, Decl(t.ts, 4, 3)) +>bb : Symbol(bb, Decl(b.d.ts, 0, 11)) + +var c = cc; // Check that c.ts has precedence over c.d.ts +>c : Symbol(c, Decl(t.ts, 5, 3)) +>cc : Symbol(cc, Decl(c.ts, 0, 3)) + +=== a.ts === +var aa = 1; +>aa : Symbol(aa, Decl(a.ts, 0, 3)) + +=== b.d.ts === +declare var bb: number; +>bb : Symbol(bb, Decl(b.d.ts, 0, 11)) + +=== c.ts === +var cc = 1; +>cc : Symbol(cc, Decl(c.ts, 0, 3)) + +=== c.d.ts === +declare var xx: number; +>xx : Symbol(xx, Decl(c.d.ts, 0, 11)) + diff --git a/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.types b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.types new file mode 100644 index 0000000000..e6c46b2ea1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/fileReferencesWithNoExtensions.types @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/fileReferencesWithNoExtensions.ts] //// + +=== t.ts === +/// +/// +/// +var a = aa; // Check that a.ts is referenced +>a : number +>aa : number + +var b = bb; // Check that b.d.ts is referenced +>b : number +>bb : number + +var c = cc; // Check that c.ts has precedence over c.d.ts +>c : number +>cc : number + +=== a.ts === +var aa = 1; +>aa : number +>1 : 1 + +=== b.d.ts === +declare var bb: number; +>bb : number + +=== c.ts === +var cc = 1; +>cc : number +>1 : 1 + +=== c.d.ts === +declare var xx: number; +>xx : number + diff --git a/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.errors.txt.diff new file mode 100644 index 0000000000..cbaa2ce260 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.errors.txt.diff @@ -0,0 +1,16 @@ +--- old.filesEmittingIntoSameOutput.errors.txt ++++ new.filesEmittingIntoSameOutput.errors.txt +@@= skipped -0, +0 lines =@@ +-error TS5056: Cannot write file 'a.js' because it would be overwritten by multiple input files. +- +- +-!!! error TS5056: Cannot write file 'a.js' because it would be overwritten by multiple input files. +-==== a.ts (0 errors) ==== +- class c { +- } +- +-==== a.tsx (0 errors) ==== +- function foo() { +- } +- ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.symbols b/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.symbols new file mode 100644 index 0000000000..f96c292cc0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/filesEmittingIntoSameOutput.ts] //// + +=== a.ts === +class c { +>c : Symbol(c, Decl(a.ts, 0, 0)) +} + +=== a.tsx === +function foo() { +>foo : Symbol(foo, Decl(a.tsx, 0, 0)) +} + diff --git a/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.types b/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.types new file mode 100644 index 0000000000..73a79d474f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/filesEmittingIntoSameOutput.types @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/filesEmittingIntoSameOutput.ts] //// + +=== a.ts === +class c { +>c : c +} + +=== a.tsx === +function foo() { +>foo : () => void +} + diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=amd).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=amd).js new file mode 100644 index 0000000000..358d98e9fe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=amd).js @@ -0,0 +1,78 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=amd).js.diff b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=amd).js.diff new file mode 100644 index 0000000000..db087d89f3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=amd).js.diff @@ -0,0 +1,99 @@ +--- old.impliedNodeFormatEmit1(module=amd).js ++++ new.impliedNodeFormatEmit1(module=amd).js +@@= skipped -34, +34 lines =@@ + + + //// [a.js] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [b.mjs] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [c.cjs] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [d.js] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [e.mjs] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [f.mjs] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [g.js] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [h.mjs] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [i.cjs] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [dummy.js] +-define(["require", "exports"], function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=commonjs).js new file mode 100644 index 0000000000..a64b00f718 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=commonjs).js @@ -0,0 +1,68 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=esnext).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=esnext).js new file mode 100644 index 0000000000..e7c119f483 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=esnext).js @@ -0,0 +1,60 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=preserve).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=preserve).js new file mode 100644 index 0000000000..d2196927f9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=preserve).js @@ -0,0 +1,52 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +export const _ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=system).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=system).js new file mode 100644 index 0000000000..358d98e9fe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=system).js @@ -0,0 +1,78 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=system).js.diff b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=system).js.diff new file mode 100644 index 0000000000..475867d6b7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=system).js.diff @@ -0,0 +1,149 @@ +--- old.impliedNodeFormatEmit1(module=system).js ++++ new.impliedNodeFormatEmit1(module=system).js +@@= skipped -34, +34 lines =@@ + + + //// [a.js] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var _; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- exports_1("_", _ = 0); +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [b.mjs] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var _; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- exports_1("_", _ = 0); +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [c.cjs] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var _; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- exports_1("_", _ = 0); +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [d.js] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var _; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- exports_1("_", _ = 0); +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [e.mjs] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var _; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- exports_1("_", _ = 0); +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [f.mjs] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var _; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- exports_1("_", _ = 0); +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [g.js] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [h.mjs] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [i.cjs] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [dummy.js] +-System.register([], function (exports_1, context_1) { +- "use strict"; +- var __moduleName = context_1 && context_1.id; +- return { +- setters: [], +- execute: function () { +- } +- }; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=umd).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=umd).js new file mode 100644 index 0000000000..358d98e9fe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=umd).js @@ -0,0 +1,78 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=umd).js.diff b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=umd).js.diff new file mode 100644 index 0000000000..eb85d456d4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit1(module=umd).js.diff @@ -0,0 +1,179 @@ +--- old.impliedNodeFormatEmit1(module=umd).js ++++ new.impliedNodeFormatEmit1(module=umd).js +@@= skipped -34, +34 lines =@@ + + + //// [a.js] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [b.mjs] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [c.cjs] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [d.js] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [e.mjs] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [f.mjs] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- exports._ = void 0; +- exports._ = 0; +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports._ = void 0; ++exports._ = 0; + //// [g.js] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [h.mjs] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [i.cjs] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + //// [dummy.js] +-(function (factory) { +- if (typeof module === "object" && typeof module.exports === "object") { +- var v = factory(require, exports); +- if (v !== undefined) module.exports = v; +- } +- else if (typeof define === "function" && define.amd) { +- define(["require", "exports"], factory); +- } +-})(function (require, exports) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=commonjs).js new file mode 100644 index 0000000000..09acf1f94e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=commonjs).js @@ -0,0 +1,71 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit2.ts] //// + +//// [package.json] +{} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=esnext).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=esnext).js new file mode 100644 index 0000000000..880c8fde2d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=esnext).js @@ -0,0 +1,63 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit2.ts] //// + +//// [package.json] +{} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=preserve).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=preserve).js new file mode 100644 index 0000000000..43c4ded45c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit2(module=preserve).js @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit2.ts] //// + +//// [package.json] +{} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +export const _ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=commonjs).js new file mode 100644 index 0000000000..f724c520ee --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=commonjs).js @@ -0,0 +1,73 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit3.ts] //// + +//// [package.json] +{ + "type": "module" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=esnext).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=esnext).js new file mode 100644 index 0000000000..72745dee81 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=esnext).js @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit3.ts] //// + +//// [package.json] +{ + "type": "module" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=preserve).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=preserve).js new file mode 100644 index 0000000000..bebc976a01 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit3(module=preserve).js @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit3.ts] //// + +//// [package.json] +{ + "type": "module" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +export const _ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=commonjs).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=commonjs).js new file mode 100644 index 0000000000..c2e4b196ab --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=commonjs).js @@ -0,0 +1,73 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit4.ts] //// + +//// [package.json] +{ + "type": "commonjs" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=esnext).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=esnext).js new file mode 100644 index 0000000000..50870f84f6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=esnext).js @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit4.ts] //// + +//// [package.json] +{ + "type": "commonjs" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=preserve).js b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=preserve).js new file mode 100644 index 0000000000..37802e3127 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/impliedNodeFormatEmit4(module=preserve).js @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit4.ts] //// + +//// [package.json] +{ + "type": "commonjs" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export const _ = 0; +//// [b.mjs] +export const _ = 0; +//// [c.cjs] +export const _ = 0; +//// [d.js] +export const _ = 0; +//// [e.mjs] +export const _ = 0; +//// [f.mjs] +export const _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/testdata/baselines/reference/submodule/compiler/importDeclFromTypeNodeInJsSource.js b/testdata/baselines/reference/submodule/compiler/importDeclFromTypeNodeInJsSource.js new file mode 100644 index 0000000000..e34086b539 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/importDeclFromTypeNodeInJsSource.js @@ -0,0 +1,82 @@ +//// [tests/cases/compiler/importDeclFromTypeNodeInJsSource.ts] //// + +//// [index.d.ts] +/// +//// [events.d.ts] +declare module "events" { + namespace EventEmitter { + class EventEmitter { + constructor(); + } + } + export = EventEmitter; +} +declare module "nestNamespaceModule" { + namespace a1.a2 { + class d { } + } + + namespace a1.a2.n3 { + class c { } + } + export = a1.a2; +} +declare module "renameModule" { + namespace a.b { + class c { } + } + import d = a.b; + export = d; +} + +//// [b.js] +import { EventEmitter } from 'events'; +import { n3, d } from 'nestNamespaceModule'; +import { c } from 'renameModule'; + +export class Foo extends EventEmitter { +} + +export class Foo2 extends n3.c { +} + +export class Foo3 extends d { +} + +export class Foo4 extends c { + +} + +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo4 = exports.Foo3 = exports.Foo2 = exports.Foo = void 0; +const events_1 = require("events"); +const nestNamespaceModule_1 = require("nestNamespaceModule"); +const renameModule_1 = require("renameModule"); +class Foo extends events_1.EventEmitter { +} +exports.Foo = Foo; +class Foo2 extends nestNamespaceModule_1.n3.c { +} +exports.Foo2 = Foo2; +class Foo3 extends nestNamespaceModule_1.d { +} +exports.Foo3 = Foo3; +class Foo4 extends renameModule_1.c { +} +exports.Foo4 = Foo4; + + +//// [b.d.ts] +import { EventEmitter } from 'events'; +import { n3, d } from 'nestNamespaceModule'; +import { c } from 'renameModule'; +export declare class Foo extends EventEmitter { +} +export declare class Foo2 extends n3.c { +} +export declare class Foo3 extends d { +} +export declare class Foo4 extends c { +} diff --git a/testdata/baselines/reference/submodule/compiler/importDeclFromTypeNodeInJsSource.js.diff b/testdata/baselines/reference/submodule/compiler/importDeclFromTypeNodeInJsSource.js.diff new file mode 100644 index 0000000000..a1990bb645 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/importDeclFromTypeNodeInJsSource.js.diff @@ -0,0 +1,27 @@ +--- old.importDeclFromTypeNodeInJsSource.js ++++ new.importDeclFromTypeNodeInJsSource.js +@@= skipped -68, +68 lines =@@ + + + //// [b.d.ts] +-export class Foo extends EventEmitter { +-} +-export class Foo2 extends n3.c { +-} +-export class Foo3 extends d { +-} +-export class Foo4 extends c { +-} + import { EventEmitter } from 'events'; +-import { n3 } from 'nestNamespaceModule'; +-import { d } from 'nestNamespaceModule'; ++import { n3, d } from 'nestNamespaceModule'; + import { c } from 'renameModule'; ++export declare class Foo extends EventEmitter { ++} ++export declare class Foo2 extends n3.c { ++} ++export declare class Foo3 extends d { ++} ++export declare class Foo4 extends c { ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js new file mode 100644 index 0000000000..946418741b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "exports": { + ".": { + "module": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + }, + "import": { + "node": "./modules/index.js", + "default": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + } + }, + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} + +//// [tslib.d.ts] +export declare var __extends: any; + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export {}; + +//// [index.js] +class Foo {} + +class Bar extends Foo {} + +module.exports = Bar; + + +//// [index.js] +class Foo { +} +class Bar extends Foo { +} +export = Bar; +module.exports = Bar; diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js.diff b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js.diff new file mode 100644 index 0000000000..d22dc7aef7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js.diff @@ -0,0 +1,8 @@ +--- old.importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js ++++ new.importHelpersCommonJSJavaScript(verbatimmodulesyntax=false).js +@@= skipped -48, +48 lines =@@ + } + class Bar extends Foo { + } ++export = Bar; + module.exports = Bar; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js new file mode 100644 index 0000000000..946418741b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/importHelpersCommonJSJavaScript.ts] //// + +//// [package.json] +{ + "name": "tslib", + "main": "tslib.js", + "module": "tslib.es6.js", + "jsnext:main": "tslib.es6.js", + "typings": "tslib.d.ts", + "exports": { + ".": { + "module": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + }, + "import": { + "node": "./modules/index.js", + "default": { + "types": "./modules/index.d.ts", + "default": "./tslib.es6.mjs" + } + }, + "default": "./tslib.js" + }, + "./*": "./*", + "./": "./" + } +} + +//// [tslib.d.ts] +export declare var __extends: any; + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export {}; + +//// [index.js] +class Foo {} + +class Bar extends Foo {} + +module.exports = Bar; + + +//// [index.js] +class Foo { +} +class Bar extends Foo { +} +export = Bar; +module.exports = Bar; diff --git a/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js.diff b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js.diff new file mode 100644 index 0000000000..ee2afeda7a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js.diff @@ -0,0 +1,8 @@ +--- old.importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js ++++ new.importHelpersCommonJSJavaScript(verbatimmodulesyntax=true).js +@@= skipped -48, +48 lines =@@ + } + class Bar extends Foo { + } ++export = Bar; + module.exports = Bar; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAllowJs.js b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAllowJs.js new file mode 100644 index 0000000000..bba02f774a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAllowJs.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/isolatedDeclarationsAllowJs.ts] //// + +//// [file1.ts] +export var x; +//// [file2.js] +export var y; + +//// [file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +//// [file2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.y = void 0; + + +//// [file1.d.ts] +export declare var x: any; +//// [file2.d.ts] +export declare var y: any; diff --git a/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAllowJs.js.diff b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAllowJs.js.diff new file mode 100644 index 0000000000..2bbb199f73 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/isolatedDeclarationsAllowJs.js.diff @@ -0,0 +1,19 @@ +--- old.isolatedDeclarationsAllowJs.js ++++ new.isolatedDeclarationsAllowJs.js +@@= skipped -8, +8 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; +- +- ++//// [file2.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.y = void 0; ++ ++ ++//// [file1.d.ts] ++export declare var x: any; + //// [file2.d.ts] +-export const y: any; ++export declare var y: any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.js b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.js new file mode 100644 index 0000000000..7e17b0e274 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/javascriptCommonjsModule.ts] //// + +//// [index.js] +class Foo {} + +class Bar extends Foo {} + +module.exports = Bar; + + +//// [index.js] +class Foo { +} +class Bar extends Foo { +} +export = Bar; +module.exports = Bar; diff --git a/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.js.diff b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.js.diff new file mode 100644 index 0000000000..8f662402ff --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/javascriptCommonjsModule.js.diff @@ -0,0 +1,8 @@ +--- old.javascriptCommonjsModule.js ++++ new.javascriptCommonjsModule.js +@@= skipped -12, +12 lines =@@ + } + class Bar extends Foo { + } ++export = Bar; + module.exports = Bar; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/javascriptThisAssignmentInStaticBlock.js b/testdata/baselines/reference/submodule/compiler/javascriptThisAssignmentInStaticBlock.js new file mode 100644 index 0000000000..92f5754ea2 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/javascriptThisAssignmentInStaticBlock.js @@ -0,0 +1,46 @@ +//// [tests/cases/compiler/javascriptThisAssignmentInStaticBlock.ts] //// + +//// [a.js] +class Thing { + static { + this.doSomething = () => {}; + } +} + +Thing.doSomething(); + +// GH#46468 +class ElementsArray extends Array { + static { + const superisArray = super.isArray; + const customIsArray = (arg)=> superisArray(arg); + this.isArray = customIsArray; + } +} + +ElementsArray.isArray(new ElementsArray()); + +//// [a.js] +class Thing { + static { + this.doSomething = () => { }; + } +} +Thing.doSomething(); +// GH#46468 +class ElementsArray extends Array { + static { + const superisArray = super.isArray; + const customIsArray = (arg) => superisArray(arg); + this.isArray = customIsArray; + } +} +ElementsArray.isArray(new ElementsArray()); + + +//// [a.d.ts] +declare class Thing { +} +// GH#46468 +declare class ElementsArray extends Array { +} diff --git a/testdata/baselines/reference/submodule/compiler/javascriptThisAssignmentInStaticBlock.js.diff b/testdata/baselines/reference/submodule/compiler/javascriptThisAssignmentInStaticBlock.js.diff new file mode 100644 index 0000000000..45f4846554 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/javascriptThisAssignmentInStaticBlock.js.diff @@ -0,0 +1,44 @@ +--- old.javascriptThisAssignmentInStaticBlock.js ++++ new.javascriptThisAssignmentInStaticBlock.js +@@= skipped -20, +20 lines =@@ + ElementsArray.isArray(new ElementsArray()); + + //// [a.js] +-var _a, _b; + class Thing { ++ static { ++ this.doSomething = () => { }; ++ } + } +-_a = Thing; +-(() => { +- _a.doSomething = () => { }; +-})(); + Thing.doSomething(); + // GH#46468 + class ElementsArray extends Array { ++ static { ++ const superisArray = super.isArray; ++ const customIsArray = (arg) => superisArray(arg); ++ this.isArray = customIsArray; ++ } + } +-_b = ElementsArray; +-(() => { +- const superisArray = super.isArray; +- const customIsArray = (arg) => superisArray(arg); +- _b.isArray = customIsArray; +-})(); + ElementsArray.isArray(new ElementsArray()); + + + //// [a.d.ts] + declare class Thing { + } +-declare class ElementsArray extends Array { +- constructor(arrayLength?: number); +- constructor(arrayLength: number); +- constructor(...items: any[]); ++// GH#46468 ++declare class ElementsArray extends Array { + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitDoesNotRenameImport.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitDoesNotRenameImport.js new file mode 100644 index 0000000000..1886413452 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitDoesNotRenameImport.js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/jsDeclarationEmitDoesNotRenameImport.ts] //// + +//// [Test.js] +/** @module test/Test */ +class Test {} +export default Test; +//// [Test.js] +/** @module Test */ +class Test {} +export default Test; +//// [index.js] +import Test from './test/Test.js' + +/** + * @typedef {Object} Options + * @property {typeof import("./Test.js").default} [test] + */ + +class X extends Test { + /** + * @param {Options} options + */ + constructor(options) { + super(); + if (options.test) { + this.test = new options.test(); + } + } +} + +export default X; + + + + +//// [Test.d.ts] +/** @module test/Test */ +declare class Test { +} +export default Test; +//// [Test.d.ts] +/** @module Test */ +declare class Test { +} +export default Test; +//// [index.d.ts] +import Test from './test/Test.js'; +export type Options = { + test?: typeof import("./Test.js").default; +}; +/** + * @typedef {Object} Options + * @property {typeof import("./Test.js").default} [test] + */ +declare class X extends Test { + /** + * @param {Options} options + */ + constructor(options: Options); +} +export default X; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitDoesNotRenameImport.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitDoesNotRenameImport.js.diff new file mode 100644 index 0000000000..59880c2816 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitDoesNotRenameImport.js.diff @@ -0,0 +1,34 @@ +--- old.jsDeclarationEmitDoesNotRenameImport.js ++++ new.jsDeclarationEmitDoesNotRenameImport.js +@@= skipped -33, +33 lines =@@ + + + //// [Test.d.ts] +-export default Test; + /** @module test/Test */ + declare class Test { + } ++export default Test; + //// [Test.d.ts] +-export default Test; + /** @module Test */ + declare class Test { + } ++export default Test; + //// [index.d.ts] +-export default X; ++import Test from './test/Test.js'; + export type Options = { +- test?: typeof import("./Test.js").default | undefined; ++ test?: typeof import("./Test.js").default; + }; + /** + * @typedef {Object} Options +@@= skipped -23, +23 lines =@@ + * @param {Options} options + */ + constructor(options: Options); +- test: import("./Test.js").default | undefined; + } +-import Test from './test/Test.js'; ++export default X; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.js new file mode 100644 index 0000000000..9751919826 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/jsDeclarationEmitExportAssignedArray.ts] //// + +//// [file.js] +module.exports = [{ name: 'other', displayName: 'Other', defaultEnabled: true }]; + + + +//// [file.d.ts] +declare const _default: { + name: string; + displayName: string; + defaultEnabled: boolean; +}[]; +export = _default; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.js.diff new file mode 100644 index 0000000000..44e36dcdbd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedArray.js.diff @@ -0,0 +1,14 @@ +--- old.jsDeclarationEmitExportAssignedArray.js ++++ new.jsDeclarationEmitExportAssignedArray.js +@@= skipped -5, +5 lines =@@ + + + //// [file.d.ts] +-declare const _exports: { ++declare const _default: { + name: string; + displayName: string; + defaultEnabled: boolean; + }[]; +-export = _exports; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js new file mode 100644 index 0000000000..bf182d3b0a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.ts] //// + +//// [index.js] +/** + * @typedef Options + * @property {string} opt + */ + +/** + * @param {Options} options + */ +module.exports = function loader(options) {} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef Options + * @property {string} opt + */ +/** + * @param {Options} options + */ +export = function loader(options) { }; +/** + * @typedef Options + * @property {string} opt + */ +/** + * @param {Options} options + */ +module.exports = function loader(options) { }; + + +//// [index.d.ts] +export type Options = { + opt: string; +}; +declare const _default: (options: any) => void; +export = _default; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff new file mode 100644 index 0000000000..b9cfac184e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js.diff @@ -0,0 +1,33 @@ +--- old.jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js ++++ new.jsDeclarationEmitExportAssignedFunctionWithExtraTypedefsMembers.js +@@= skipped -13, +13 lines =@@ + + //// [index.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++/** ++ * @typedef Options ++ * @property {string} opt ++ */ ++/** ++ * @param {Options} options ++ */ ++export = function loader(options) { }; + /** + * @typedef Options + * @property {string} opt +@@= skipped -11, +20 lines =@@ + + + //// [index.d.ts] +-declare namespace _exports { +- export { Options }; +-} +-declare function _exports(options: Options): void; +-export = _exports; +-type Options = { ++export type Options = { + opt: string; + }; ++declare const _default: (options: any) => void; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportedClassWithExtends.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportedClassWithExtends.js new file mode 100644 index 0000000000..c83afdcaa3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportedClassWithExtends.js @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/jsDeclarationEmitExportedClassWithExtends.ts] //// + +//// [package.json] +{ + "name": "lit", + "version": "0.0.1", + "type": "module", + "exports": { + ".": { + "types": "./development/index.d.ts" + } + } +} +//// [index.d.ts] +export * from "lit-element/lit-element.js"; +//// [package.json] +{ + "name": "lit-element", + "version": "0.0.1", + "type": "module", + "exports": { + ".": { + "types": "./development/index.d.ts" + }, + "./lit-element.js": { + "types": "./development/lit-element.d.ts" + } + } +} +//// [index.d.ts] +export * from "./lit-element.js"; +//// [lit-element.d.ts] +export class LitElement {} +//// [package.json] +{ + "type": "module", + "private": true +} +//// [index.js] +import { LitElement, LitElement as LitElement2 } from "lit"; +export class ElementB extends LitElement {} +export class ElementC extends LitElement2 {} + +//// [index.js] +import { LitElement, LitElement as LitElement2 } from "lit"; +export class ElementB extends LitElement { +} +export class ElementC extends LitElement2 { +} + + +//// [index.d.ts] +import { LitElement, LitElement as LitElement2 } from "lit"; +export declare class ElementB extends LitElement { +} +export declare class ElementC extends LitElement2 { +} diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportedClassWithExtends.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportedClassWithExtends.js.diff new file mode 100644 index 0000000000..0db9d018b3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationEmitExportedClassWithExtends.js.diff @@ -0,0 +1,16 @@ +--- old.jsDeclarationEmitExportedClassWithExtends.js ++++ new.jsDeclarationEmitExportedClassWithExtends.js +@@= skipped -49, +49 lines =@@ + + + //// [index.d.ts] +-export class ElementB extends LitElement { +-} +-export class ElementC extends LitElement { +-} +-import { LitElement } from "lit"; ++import { LitElement, LitElement as LitElement2 } from "lit"; ++export declare class ElementB extends LitElement { ++} ++export declare class ElementC extends LitElement2 { ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunction.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunction.js new file mode 100644 index 0000000000..9d4cfaead5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunction.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/jsDeclarationsGlobalFileConstFunction.ts] //// + +//// [file.js] +const SomeConstructor = function () { + this.x = 1; +}; + +const SomeConstructor2 = function () { +}; +SomeConstructor2.staticMember = "str"; + +const SomeConstructor3 = function () { + this.x = 1; +}; +SomeConstructor3.staticMember = "str"; + + + + +//// [file.d.ts] +declare const SomeConstructor: () => void; +declare const SomeConstructor2: { + (): void; + staticMember: string; +}; +declare const SomeConstructor3: { + (): void; + staticMember: string; +}; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunction.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunction.js.diff new file mode 100644 index 0000000000..171c3332a5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunction.js.diff @@ -0,0 +1,31 @@ +--- old.jsDeclarationsGlobalFileConstFunction.js ++++ new.jsDeclarationsGlobalFileConstFunction.js +@@= skipped -17, +17 lines =@@ + + + //// [file.d.ts] +-declare function SomeConstructor(): void; +-declare class SomeConstructor { +- x: number; +-} +-declare function SomeConstructor2(): void; +-declare namespace SomeConstructor2 { +- let staticMember: string; +-} +-declare function SomeConstructor3(): void; +-declare namespace SomeConstructor3 { +- let staticMember_1: string; +- export { staticMember_1 as staticMember }; +-} +-declare class SomeConstructor3 { +- x: number; +-} ++declare const SomeConstructor: () => void; ++declare const SomeConstructor2: { ++ (): void; ++ staticMember: string; ++}; ++declare const SomeConstructor3: { ++ (): void; ++ staticMember: string; ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunctionNamed.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunctionNamed.js new file mode 100644 index 0000000000..b4b7986cec --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunctionNamed.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/jsDeclarationsGlobalFileConstFunctionNamed.ts] //// + +//// [file.js] +const SomeConstructor = function Named() { + this.x = 1; +}; + +const SomeConstructor2 = function Named() { +}; +SomeConstructor2.staticMember = "str"; + +const SomeConstructor3 = function Named() { + this.x = 1; +}; +SomeConstructor3.staticMember = "str"; + +const SelfReference = function Named() { + if (!(this instanceof Named)) return new Named(); + this.x = 1; +} +SelfReference.staticMember = "str"; + + + + +//// [file.d.ts] +declare const SomeConstructor: () => void; +declare const SomeConstructor2: { + (): void; + staticMember: string; +}; +declare const SomeConstructor3: { + (): void; + staticMember: string; +}; +declare const SelfReference: { + (): any; + staticMember: string; +}; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunctionNamed.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunctionNamed.js.diff new file mode 100644 index 0000000000..3b57bcf92d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsGlobalFileConstFunctionNamed.js.diff @@ -0,0 +1,43 @@ +--- old.jsDeclarationsGlobalFileConstFunctionNamed.js ++++ new.jsDeclarationsGlobalFileConstFunctionNamed.js +@@= skipped -23, +23 lines =@@ + + + //// [file.d.ts] +-declare function SomeConstructor(): void; +-declare class SomeConstructor { +- x: number; +-} +-declare function SomeConstructor2(): void; +-declare namespace SomeConstructor2 { +- let staticMember: string; +-} +-declare function SomeConstructor3(): void; +-declare namespace SomeConstructor3 { +- let staticMember_1: string; +- export { staticMember_1 as staticMember }; +-} +-declare class SomeConstructor3 { +- x: number; +-} +-declare function SelfReference(): SelfReference; +-declare namespace SelfReference { +- let staticMember_2: string; +- export { staticMember_2 as staticMember }; +-} +-declare class SelfReference { +- x: number; +-} ++declare const SomeConstructor: () => void; ++declare const SomeConstructor2: { ++ (): void; ++ staticMember: string; ++}; ++declare const SomeConstructor3: { ++ (): void; ++ staticMember: string; ++}; ++declare const SelfReference: { ++ (): any; ++ staticMember: string; ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js new file mode 100644 index 0000000000..efd479b20b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/jsDeclarationsInheritedTypes.ts] //// + +//// [a.js] +/** + * @typedef A + * @property {string} a + */ + +/** + * @typedef B + * @property {number} b + */ + + class C1 { + /** + * @type {A} + */ + value; +} + +class C2 extends C1 { + /** + * @type {A} + */ + value; +} + +class C3 extends C1 { + /** + * @type {A & B} + */ + value; +} + + + + +//// [a.d.ts] +export type A = { + a: string; +}; +export type B = { + b: number; +}; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff new file mode 100644 index 0000000000..0847a31c50 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsInheritedTypes.js.diff @@ -0,0 +1,36 @@ +--- old.jsDeclarationsInheritedTypes.js ++++ new.jsDeclarationsInheritedTypes.js +@@= skipped -35, +35 lines =@@ + + + //// [a.d.ts] +-/** +- * @typedef A +- * @property {string} a +- */ +-/** +- * @typedef B +- * @property {number} b +- */ +-declare class C1 { +- /** +- * @type {A} +- */ +- value: A; +-} +-declare class C2 extends C1 { +-} +-declare class C3 extends C1 { +- /** +- * @type {A & B} +- */ +- value: A & B; +-} +-type A = { ++export type A = { + a: string; + }; +-type B = { ++export type B = { + b: number; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.js b/testdata/baselines/reference/submodule/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.js new file mode 100644 index 0000000000..21c3e870d8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.ts] //// + +//// [helper.d.ts] +type Computed = () => any; +interface Mapper { + (map: Key[]): { [K in Key]: R }; + >(map: Map): { [K in keyof Map]: R }; +} +interface NamespacedMappers { + mapState: Mapper; +} +export declare function createNamespacedHelpers(): NamespacedMappers; + +//// [index.js] +import { createNamespacedHelpers } from './helper' +const { mapState } = createNamespacedHelpers() +export default { + computed: { + ...mapState(['panels']) + } +} + + + +//// [index.d.ts] +declare const _default: { + computed: { + panels: import("./helper").Computed; + }; +}; +export default _default; diff --git a/testdata/baselines/reference/submodule/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.js.diff b/testdata/baselines/reference/submodule/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.js.diff new file mode 100644 index 0000000000..a629b9307b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDeclarationsWithDefaultAsNamespaceLikeMerge.js.diff @@ -0,0 +1,17 @@ +--- old.jsDeclarationsWithDefaultAsNamespaceLikeMerge.js ++++ new.jsDeclarationsWithDefaultAsNamespaceLikeMerge.js +@@= skipped -22, +22 lines =@@ + + + //// [index.d.ts] +-declare namespace _default { +- namespace computed { +- let panels: import("./helper").Computed; +- } +-} ++declare const _default: { ++ computed: { ++ panels: import("./helper").Computed; ++ }; ++}; + export default _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js new file mode 100644 index 0000000000..236608d9bd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js @@ -0,0 +1,59 @@ +//// [tests/cases/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.ts] //// + +//// [package.json] +{ + "name": "typescript-issue", + "private": true, + "version": "0.0.0", + "type": "module" +} +//// [package.json] +{ + "name": "@lion/ajax", + "version": "2.0.2", + "type": "module", + "exports": { + ".": { + "types": "./dist-types/src/index.d.ts", + "default": "./src/index.js" + }, + "./docs/*": "./docs/*" + } +} +//// [index.d.ts] +export type LionRequestInit = import('../types/types.js').LionRequestInit; +//// [types.d.ts] +export interface LionRequestInit { + body?: null | Object; +} +//// [index.js] +/** + * @typedef {import('@lion/ajax').LionRequestInit} LionRequestInit + */ + +export class NewAjax { + /** + * @param {LionRequestInit} [init] + */ + case5_unexpectedlyResolvesPathToNodeModules(init) {} +} + +/** + * @type {(init?: LionRequestInit) => void} + */ +// @ts-expect-error +NewAjax.prototype.case6_unexpectedlyResolvesPathToNodeModules; + + + +//// [index.d.ts] +export type LionRequestInit = import('@lion/ajax').LionRequestInit; +/** + * @typedef {import('@lion/ajax').LionRequestInit} LionRequestInit + */ +export declare class NewAjax { + /** + * @param {LionRequestInit} [init] + */ + case5_unexpectedlyResolvesPathToNodeModules(init?: LionRequestInit): void; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff new file mode 100644 index 0000000000..7a5027b638 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js.diff @@ -0,0 +1,22 @@ +--- old.jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js ++++ new.jsDocDeclarationEmitDoesNotUseNodeModulesPathWithoutError.js +@@= skipped -46, +46 lines =@@ + + + //// [index.d.ts] ++export type LionRequestInit = import('@lion/ajax').LionRequestInit; + /** + * @typedef {import('@lion/ajax').LionRequestInit} LionRequestInit + */ +-export class NewAjax { ++export declare class NewAjax { + /** + * @param {LionRequestInit} [init] + */ + case5_unexpectedlyResolvesPathToNodeModules(init?: LionRequestInit): void; +- /** +- * @type {(init?: LionRequestInit) => void} +- */ +- case6_unexpectedlyResolvesPathToNodeModules: (init?: LionRequestInit) => void; + } +-export type LionRequestInit = import("@lion/ajax").LionRequestInit; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsEmitIntersectionProperty.js b/testdata/baselines/reference/submodule/compiler/jsEmitIntersectionProperty.js new file mode 100644 index 0000000000..03093cce0b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsEmitIntersectionProperty.js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/jsEmitIntersectionProperty.ts] //// + +//// [globals.d.ts] +declare class CoreObject { + static extend< + Statics, + Instance extends B1, + T1, + B1 + >( + this: Statics & { new(): Instance }, + arg1: T1 + ): Readonly & { new(): T1 & Instance }; + + toString(): string; +} + +declare class Mixin { + static create( + args?: T + ): Mixin; +} +declare const Observable: Mixin<{}> +declare class EmberObject extends CoreObject.extend(Observable) {} +declare class CoreView extends EmberObject.extend({}) {} +declare class Component extends CoreView.extend({}) {} + +//// [index.js] +export class MyComponent extends Component { + +} + + + + +//// [index.d.ts] +export declare class MyComponent extends Component { +} diff --git a/testdata/baselines/reference/submodule/compiler/jsEmitIntersectionProperty.js.diff b/testdata/baselines/reference/submodule/compiler/jsEmitIntersectionProperty.js.diff new file mode 100644 index 0000000000..25f4c63e25 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsEmitIntersectionProperty.js.diff @@ -0,0 +1,9 @@ +--- old.jsEmitIntersectionProperty.js ++++ new.jsEmitIntersectionProperty.js +@@= skipped -33, +33 lines =@@ + + + //// [index.d.ts] +-export class MyComponent extends Component { ++export declare class MyComponent extends Component { + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.js b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.js new file mode 100644 index 0000000000..635b4c6367 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/jsExportAssignmentNonMutableLocation.ts] //// + +//// [file.js] +const customSymbol = Symbol("custom"); + +// This is a common pattern in Node’s built-in modules: +module.exports = { + customSymbol, +}; + +exports.customSymbol2 = Symbol("custom"); + + + +//// [file.d.ts] +declare const _default: { + customSymbol: symbol; +}; +export = _default; +export var customSymbol2 = Symbol("custom"); diff --git a/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.js.diff b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.js.diff new file mode 100644 index 0000000000..4094b52ae4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsExportAssignmentNonMutableLocation.js.diff @@ -0,0 +1,13 @@ +--- old.jsExportAssignmentNonMutableLocation.js ++++ new.jsExportAssignmentNonMutableLocation.js +@@= skipped -12, +12 lines =@@ + + + //// [file.d.ts] +-export const customSymbol2: unique symbol; +-export const customSymbol: unique symbol; ++declare const _default: { ++ customSymbol: symbol; ++}; ++export = _default; ++export var customSymbol2 = Symbol("custom"); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js new file mode 100644 index 0000000000..30fd9c4e05 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js @@ -0,0 +1,124 @@ +//// [tests/cases/compiler/jsFileAlternativeUseOfOverloadTag.ts] //// + +//// [jsFileAlternativeUseOfOverloadTag.js] +// These are a few examples of existing alternative uses of @overload tag. +// They will not work as expected with our implementation, but we are +// trying to make sure that our changes do not result in any crashes here. + +const example1 = { + /** + * @overload Example1(value) + * Creates Example1 + * @param value [String] + */ + constructor: function Example1(value, options) {}, +}; + +const example2 = { + /** + * Example 2 + * + * @overload Example2(value) + * Creates Example2 + * @param value [String] + * @param secretAccessKey [String] + * @param sessionToken [String] + * @example Creates with string value + * const example = new Example(''); + * @overload Example2(options) + * Creates Example2 + * @option options value [String] + * @example Creates with options object + * const example = new Example2({ + * value: '', + * }); + */ + constructor: function Example2() {}, +}; + +const example3 = { + /** + * @overload evaluate(options = {}, [callback]) + * Evaluate something + * @note Something interesting + * @param options [map] + * @return [string] returns evaluation result + * @return [null] returns nothing if callback provided + * @callback callback function (error, result) + * If callback is provided it will be called with evaluation result + * @param error [Error] + * @param result [String] + * @see callback + */ + evaluate: function evaluate(options, callback) {}, +}; + + +//// [jsFileAlternativeUseOfOverloadTag.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// These are a few examples of existing alternative uses of @overload tag. +// They will not work as expected with our implementation, but we are +// trying to make sure that our changes do not result in any crashes here. +const example1 = { + /** + * @overload Example1(value) + * Creates Example1 + * @param value [String] + */ + constructor: function Example1(value, options) { }, +}; +const example2 = { + /** + * Example 2 + * + * @overload Example2(value) + * Creates Example2 + * @param value [String] + * @param secretAccessKey [String] + * @param sessionToken [String] + * @example Creates with string value + * const example = new Example(''); + * @overload Example2(options) + * Creates Example2 + * @option options value [String] + * @example Creates with options object + * const example = new Example2({ + * value: '', + * }); + */ + constructor: function Example2() { }, +}; +const example3 = { + /** + * @overload evaluate(options = {}, [callback]) + * Evaluate something + * @note Something interesting + * @param options [map] + * @return [string] returns evaluation result + * @return [null] returns nothing if callback provided + * @callback callback function (error, result) + * If callback is provided it will be called with evaluation result + * @param error [Error] + * @param result [String] + * @see callback + */ + evaluate: function evaluate(options, callback) { }, +}; + + +//// [jsFileAlternativeUseOfOverloadTag.d.ts] +export type callback = (error: any, result: any) ; + + +//// [DtsFileErrors] + + +dist/jsFileAlternativeUseOfOverloadTag.d.ts(1,50): error TS1005: '=>' expected. + + +==== dist/jsFileAlternativeUseOfOverloadTag.d.ts (1 errors) ==== + export type callback = (error: any, result: any) ; + ~ +!!! error TS1005: '=>' expected. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff new file mode 100644 index 0000000000..72bb7b12fe --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileAlternativeUseOfOverloadTag.js.diff @@ -0,0 +1,99 @@ +--- old.jsFileAlternativeUseOfOverloadTag.js ++++ new.jsFileAlternativeUseOfOverloadTag.js +@@= skipped -54, +54 lines =@@ + + + //// [jsFileAlternativeUseOfOverloadTag.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // These are a few examples of existing alternative uses of @overload tag. + // They will not work as expected with our implementation, but we are + // trying to make sure that our changes do not result in any crashes here. +@@= skipped -51, +53 lines =@@ + + + //// [jsFileAlternativeUseOfOverloadTag.d.ts] +-declare namespace example1 { +- /** +- * @overload Example1(value) +- * Creates Example1 +- * @param value [String] +- */ +- function constructor(value: any): any; +-} +-declare namespace example2 { +- /** +- * Example 2 +- * +- * @overload Example2(value) +- * Creates Example2 +- * @param value [String] +- * @param secretAccessKey [String] +- * @param sessionToken [String] +- * @example Creates with string value +- * const example = new Example(''); +- * @overload Example2(options) +- * Creates Example2 +- * @option options value [String] +- * @example Creates with options object +- * const example = new Example2({ +- * value: '', +- * }); +- */ +- export function constructor_1(value: any, secretAccessKey: any, sessionToken: any): any; +- /** +- * Example 2 +- * +- * @overload Example2(value) +- * Creates Example2 +- * @param value [String] +- * @param secretAccessKey [String] +- * @param sessionToken [String] +- * @example Creates with string value +- * const example = new Example(''); +- * @overload Example2(options) +- * Creates Example2 +- * @option options value [String] +- * @example Creates with options object +- * const example = new Example2({ +- * value: '', +- * }); +- */ +- export function constructor_1(): any; +- export { constructor_1 as constructor }; +-} +-declare namespace example3 { +- /** +- * @overload evaluate(options = {}, [callback]) +- * Evaluate something +- * @note Something interesting +- * @param options [map] +- * @return [string] returns evaluation result +- * @return [null] returns nothing if callback provided +- * @callback callback function (error, result) +- * If callback is provided it will be called with evaluation result +- * @param error [Error] +- * @param result [String] +- * @see callback +- */ +- function evaluate(): any; +-} +-/** +- * function (error, result) +- * If callback is provided it will be called with evaluation result +- */ +-type callback = (error: any, result: any) => any; ++export type callback = (error: any, result: any) ; ++ ++ ++//// [DtsFileErrors] ++ ++ ++dist/jsFileAlternativeUseOfOverloadTag.d.ts(1,50): error TS1005: '=>' expected. ++ ++ ++==== dist/jsFileAlternativeUseOfOverloadTag.d.ts (1 errors) ==== ++ export type callback = (error: any, result: any) ; ++ ~ ++!!! error TS1005: '=>' expected. ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationAbstractModifier.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAbstractModifier.js new file mode 100644 index 0000000000..ebfa7d78d6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAbstractModifier.js @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/jsFileCompilationAbstractModifier.ts] //// + +//// [a.js] +abstract class c { + abstract x; +} + +//// [a.js] +class c { + x; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationAbstractModifier.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAbstractModifier.js.diff new file mode 100644 index 0000000000..bc627e2070 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAbstractModifier.js.diff @@ -0,0 +1,15 @@ +--- old.jsFileCompilationAbstractModifier.js ++++ new.jsFileCompilationAbstractModifier.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationAbstractModifier.ts] //// ++ ++//// [a.js] ++abstract class c { ++ abstract x; ++} ++ ++//// [a.js] ++class c { ++ x; ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationAmbientVarDeclarationSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAmbientVarDeclarationSyntax.js new file mode 100644 index 0000000000..3a4deaee2b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAmbientVarDeclarationSyntax.js @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/jsFileCompilationAmbientVarDeclarationSyntax.ts] //// + +//// [a.js] +declare var v; + +//// [a.js] diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationAmbientVarDeclarationSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAmbientVarDeclarationSyntax.js.diff new file mode 100644 index 0000000000..dbba554420 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAmbientVarDeclarationSyntax.js.diff @@ -0,0 +1,10 @@ +--- old.jsFileCompilationAmbientVarDeclarationSyntax.js ++++ new.jsFileCompilationAmbientVarDeclarationSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationAmbientVarDeclarationSyntax.ts] //// ++ ++//// [a.js] ++declare var v; ++ ++//// [a.js] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationAwaitModifier.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAwaitModifier.js new file mode 100644 index 0000000000..010f7f0779 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAwaitModifier.js @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/jsFileCompilationAwaitModifier.ts] //// + +//// [a.js] +class Foo { + async a() { + await Promise.resolve(1); + } + + b = async () => { + await Promise.resolve(1); + } +} + + +//// [a.js] +class Foo { + async a() { + await Promise.resolve(1); + } + b = async () => { + await Promise.resolve(1); + }; +} + + +//// [a.d.ts] +declare class Foo { + a(): Promise; + b: () => Promise; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationAwaitModifier.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAwaitModifier.js.diff new file mode 100644 index 0000000000..3f2cd40883 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationAwaitModifier.js.diff @@ -0,0 +1,34 @@ +--- old.jsFileCompilationAwaitModifier.js ++++ new.jsFileCompilationAwaitModifier.js +@@= skipped -12, +12 lines =@@ + + + //// [a.js] +-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { +- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } +- return new (P || (P = Promise))(function (resolve, reject) { +- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } +- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } +- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } +- step((generator = generator.apply(thisArg, _arguments || [])).next()); +- }); +-}; + class Foo { +- constructor() { +- this.b = () => __awaiter(this, void 0, void 0, function* () { +- yield Promise.resolve(1); +- }); +- } +- a() { +- return __awaiter(this, void 0, void 0, function* () { +- yield Promise.resolve(1); +- }); +- } ++ async a() { ++ await Promise.resolve(1); ++ } ++ b = async () => { ++ await Promise.resolve(1); ++ }; + } + diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationEnumSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationEnumSyntax.js new file mode 100644 index 0000000000..9518b07eb9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationEnumSyntax.js @@ -0,0 +1,9 @@ +//// [tests/cases/compiler/jsFileCompilationEnumSyntax.ts] //// + +//// [a.js] +enum E { } + +//// [a.js] +var E; +(function (E) { +})(E || (E = {})); diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationEnumSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationEnumSyntax.js.diff new file mode 100644 index 0000000000..1ef4e3950c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationEnumSyntax.js.diff @@ -0,0 +1,13 @@ +--- old.jsFileCompilationEnumSyntax.js ++++ new.jsFileCompilationEnumSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationEnumSyntax.ts] //// ++ ++//// [a.js] ++enum E { } ++ ++//// [a.js] ++var E; ++(function (E) { ++})(E || (E = {})); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js new file mode 100644 index 0000000000..12261429df --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js @@ -0,0 +1,37 @@ +//// [tests/cases/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.ts] //// + +//// [a.ts] +class c { +} + +//// [b.ts] +/// +// b.d.ts should have c.d.ts as the reference path +function foo() { +} + +//// [c.js] +function bar() { +} + +//// [a.js] +class c { +} +//// [c.js] +function bar() { +} +//// [b.js] +/// +// b.d.ts should have c.d.ts as the reference path +function foo() { +} + + +//// [a.d.ts] +declare class c { +} +//// [c.d.ts] +declare function bar(): void; +//// [b.d.ts] +// b.d.ts should have c.d.ts as the reference path +declare function foo(): void; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js.diff new file mode 100644 index 0000000000..9bbdc42d51 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js.diff @@ -0,0 +1,18 @@ +--- old.jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js ++++ new.jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithNoOut.js +@@= skipped -16, +16 lines =@@ + //// [a.js] + class c { + } ++//// [c.js] ++function bar() { ++} + //// [b.js] + /// + // b.d.ts should have c.d.ts as the reference path +@@= skipped -13, +16 lines =@@ + //// [c.d.ts] + declare function bar(): void; + //// [b.d.ts] ++// b.d.ts should have c.d.ts as the reference path + declare function foo(): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithOutDir.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithOutDir.js new file mode 100644 index 0000000000..9f4a061d0d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithOutDir.js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/jsFileCompilationErrorOnDeclarationsWithJsFileReferenceWithOutDir.ts] //// + +//// [a.ts] +class c { +} + +//// [b.ts] +/// +function foo() { +} + +//// [c.js] +function bar() { +} + +//// [a.js] +class c { +} +//// [c.js] +function bar() { +} +//// [b.js] +/// +function foo() { +} + + +//// [a.d.ts] +declare class c { +} +//// [c.d.ts] +declare function bar(): void; +//// [b.d.ts] +declare function foo(): void; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationExportAssignmentSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationExportAssignmentSyntax.js new file mode 100644 index 0000000000..571a8c3f33 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationExportAssignmentSyntax.js @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/jsFileCompilationExportAssignmentSyntax.ts] //// + +//// [a.js] +export = b; + +//// [a.js] +"use strict"; +module.exports = b; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationExportAssignmentSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationExportAssignmentSyntax.js.diff new file mode 100644 index 0000000000..bdebaef043 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationExportAssignmentSyntax.js.diff @@ -0,0 +1,12 @@ +--- old.jsFileCompilationExportAssignmentSyntax.js ++++ new.jsFileCompilationExportAssignmentSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationExportAssignmentSyntax.ts] //// ++ ++//// [a.js] ++export = b; ++ ++//// [a.js] ++"use strict"; ++module.exports = b; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.js new file mode 100644 index 0000000000..a4d672121c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.js @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.ts] //// + +//// [a.js] +class C implements D { } + +//// [a.js] +class C { +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.js.diff new file mode 100644 index 0000000000..f7ae8f286c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.js.diff @@ -0,0 +1,12 @@ +--- old.jsFileCompilationHeritageClauseSyntaxOfClass.js ++++ new.jsFileCompilationHeritageClauseSyntaxOfClass.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationHeritageClauseSyntaxOfClass.ts] //// ++ ++//// [a.js] ++class C implements D { } ++ ++//// [a.js] ++class C { ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationImportEqualsSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationImportEqualsSyntax.js new file mode 100644 index 0000000000..b395972f32 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationImportEqualsSyntax.js @@ -0,0 +1,7 @@ +//// [tests/cases/compiler/jsFileCompilationImportEqualsSyntax.ts] //// + +//// [a.js] +import a = b; + +//// [a.js] +var a = b; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationImportEqualsSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationImportEqualsSyntax.js.diff new file mode 100644 index 0000000000..8bf537cf3a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationImportEqualsSyntax.js.diff @@ -0,0 +1,11 @@ +--- old.jsFileCompilationImportEqualsSyntax.js ++++ new.jsFileCompilationImportEqualsSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationImportEqualsSyntax.ts] //// ++ ++//// [a.js] ++import a = b; ++ ++//// [a.js] ++var a = b; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationInterfaceSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationInterfaceSyntax.js new file mode 100644 index 0000000000..6303e9729c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationInterfaceSyntax.js @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/jsFileCompilationInterfaceSyntax.ts] //// + +//// [a.js] +interface I { } + +//// [a.js] diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationInterfaceSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationInterfaceSyntax.js.diff new file mode 100644 index 0000000000..b69ca361b7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationInterfaceSyntax.js.diff @@ -0,0 +1,10 @@ +--- old.jsFileCompilationInterfaceSyntax.js ++++ new.jsFileCompilationInterfaceSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationInterfaceSyntax.ts] //// ++ ++//// [a.js] ++interface I { } ++ ++//// [a.js] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationModuleSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationModuleSyntax.js new file mode 100644 index 0000000000..f74fe30dec --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationModuleSyntax.js @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/jsFileCompilationModuleSyntax.ts] //// + +//// [a.js] +module M { } + +//// [a.js] diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationModuleSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationModuleSyntax.js.diff new file mode 100644 index 0000000000..3e7cbed5a5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationModuleSyntax.js.diff @@ -0,0 +1,10 @@ +--- old.jsFileCompilationModuleSyntax.js ++++ new.jsFileCompilationModuleSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationModuleSyntax.ts] //// ++ ++//// [a.js] ++module M { } ++ ++//// [a.js] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js new file mode 100644 index 0000000000..319a16f5d9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.ts] //// + +//// [a.ts] +class c { +} + +//// [b.ts] +/// +// no error on above reference path since not emitting declarations +function foo() { +} + +//// [c.js] +function bar() { +} + +//// [a.js] +class c { +} +//// [c.js] +function bar() { +} +//// [b.js] +/// +// no error on above reference path since not emitting declarations +function foo() { +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js.diff new file mode 100644 index 0000000000..d4ae6aad6d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js.diff @@ -0,0 +1,12 @@ +--- old.jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js ++++ new.jsFileCompilationNoErrorWithoutDeclarationsWithJsFileReferenceWithNoOut.js +@@= skipped -16, +16 lines =@@ + //// [a.js] + class c { + } ++//// [c.js] ++function bar() { ++} + //// [b.js] + /// + // no error on above reference path since not emitting declarations \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.js new file mode 100644 index 0000000000..d3c8038603 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.ts] //// + +//// [a.js] +class C { + foo?() { + } + bar? = 1; +} + +//// [a.js] +class C { + foo() { + } + bar = 1; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.js.diff new file mode 100644 index 0000000000..dcacf2ce71 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.js.diff @@ -0,0 +1,19 @@ +--- old.jsFileCompilationOptionalClassElementSyntaxOfClass.js ++++ new.jsFileCompilationOptionalClassElementSyntaxOfClass.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationOptionalClassElementSyntaxOfClass.ts] //// ++ ++//// [a.js] ++class C { ++ foo?() { ++ } ++ bar? = 1; ++} ++ ++//// [a.js] ++class C { ++ foo() { ++ } ++ bar = 1; ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalParameter.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalParameter.js new file mode 100644 index 0000000000..0df0796ec9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalParameter.js @@ -0,0 +1,7 @@ +//// [tests/cases/compiler/jsFileCompilationOptionalParameter.ts] //// + +//// [a.js] +function F(p?) { } + +//// [a.js] +function F(p) { } diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalParameter.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalParameter.js.diff new file mode 100644 index 0000000000..1b63549331 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationOptionalParameter.js.diff @@ -0,0 +1,11 @@ +--- old.jsFileCompilationOptionalParameter.js ++++ new.jsFileCompilationOptionalParameter.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationOptionalParameter.ts] //// ++ ++//// [a.js] ++function F(p?) { } ++ ++//// [a.js] ++function F(p) { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicMethodSyntaxOfClass.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicMethodSyntaxOfClass.js new file mode 100644 index 0000000000..d80f53375d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicMethodSyntaxOfClass.js @@ -0,0 +1,13 @@ +//// [tests/cases/compiler/jsFileCompilationPublicMethodSyntaxOfClass.ts] //// + +//// [a.js] +class C { + public foo() { + } +} + +//// [a.js] +class C { + foo() { + } +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicMethodSyntaxOfClass.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicMethodSyntaxOfClass.js.diff new file mode 100644 index 0000000000..1e629e6633 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicMethodSyntaxOfClass.js.diff @@ -0,0 +1,17 @@ +--- old.jsFileCompilationPublicMethodSyntaxOfClass.js ++++ new.jsFileCompilationPublicMethodSyntaxOfClass.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationPublicMethodSyntaxOfClass.ts] //// ++ ++//// [a.js] ++class C { ++ public foo() { ++ } ++} ++ ++//// [a.js] ++class C { ++ foo() { ++ } ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicParameterModifier.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicParameterModifier.js new file mode 100644 index 0000000000..b28645af7e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicParameterModifier.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/jsFileCompilationPublicParameterModifier.ts] //// + +//// [a.js] +class C { constructor(public x) { }} + +//// [a.js] +class C { + x; + constructor(x) { + this.x = x; + } +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicParameterModifier.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicParameterModifier.js.diff new file mode 100644 index 0000000000..a0dbd90a98 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationPublicParameterModifier.js.diff @@ -0,0 +1,16 @@ +--- old.jsFileCompilationPublicParameterModifier.js ++++ new.jsFileCompilationPublicParameterModifier.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationPublicParameterModifier.ts] //// ++ ++//// [a.js] ++class C { constructor(public x) { }} ++ ++//// [a.js] ++class C { ++ x; ++ constructor(x) { ++ this.x = x; ++ } ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.js new file mode 100644 index 0000000000..857d2d2386 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.js @@ -0,0 +1,7 @@ +//// [tests/cases/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.ts] //// + +//// [a.js] +function F(): number { } + +//// [a.js] +function F() { } diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.js.diff new file mode 100644 index 0000000000..9ead4e8edd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.js.diff @@ -0,0 +1,11 @@ +--- old.jsFileCompilationReturnTypeSyntaxOfFunction.js ++++ new.jsFileCompilationReturnTypeSyntaxOfFunction.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationReturnTypeSyntaxOfFunction.ts] //// ++ ++//// [a.js] ++function F(): number { } ++ ++//// [a.js] ++function F() { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationSyntaxError.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationSyntaxError.js new file mode 100644 index 0000000000..d00d42399b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationSyntaxError.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/jsFileCompilationSyntaxError.ts] //// + +//// [a.js] +/** + * @type {number} + * @type {string} + */ +var v; + + +//// [a.js] +/** + * @type {number} + * @type {string} + */ +var v; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationSyntaxError.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationSyntaxError.js.diff new file mode 100644 index 0000000000..9b65edd7a0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationSyntaxError.js.diff @@ -0,0 +1,20 @@ +--- old.jsFileCompilationSyntaxError.js ++++ new.jsFileCompilationSyntaxError.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationSyntaxError.ts] //// ++ ++//// [a.js] ++/** ++ * @type {number} ++ * @type {string} ++ */ ++var v; ++ ++ ++//// [a.js] ++/** ++ * @type {number} ++ * @type {string} ++ */ ++var v; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeAliasSyntax.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeAliasSyntax.js new file mode 100644 index 0000000000..6d9720550a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeAliasSyntax.js @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/jsFileCompilationTypeAliasSyntax.ts] //// + +//// [a.js] +type a = b; + +//// [a.js] diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeAliasSyntax.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeAliasSyntax.js.diff new file mode 100644 index 0000000000..8de34c2d4c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeAliasSyntax.js.diff @@ -0,0 +1,10 @@ +--- old.jsFileCompilationTypeAliasSyntax.js ++++ new.jsFileCompilationTypeAliasSyntax.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationTypeAliasSyntax.ts] //// ++ ++//// [a.js] ++type a = b; ++ ++//// [a.js] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeArgumentSyntaxOfCall.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeArgumentSyntaxOfCall.js new file mode 100644 index 0000000000..83cfef31d1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeArgumentSyntaxOfCall.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/jsFileCompilationTypeArgumentSyntaxOfCall.ts] //// + +//// [a.jsx] +Foo(); +Foo(1); +Foo``; +>
; +/>; + + +//// [a.js] +Foo < number > (); +Foo < number > (1); +Foo < number > ``; +, >; +, />; +; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeOfParameter.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeOfParameter.js new file mode 100644 index 0000000000..bcfde1ad31 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeOfParameter.js @@ -0,0 +1,7 @@ +//// [tests/cases/compiler/jsFileCompilationTypeOfParameter.ts] //// + +//// [a.js] +function F(a: number) { } + +//// [a.js] +function F(a) { } diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeOfParameter.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeOfParameter.js.diff new file mode 100644 index 0000000000..90d6e39ea5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeOfParameter.js.diff @@ -0,0 +1,11 @@ +--- old.jsFileCompilationTypeOfParameter.js ++++ new.jsFileCompilationTypeOfParameter.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationTypeOfParameter.ts] //// ++ ++//// [a.js] ++function F(a: number) { } ++ ++//// [a.js] ++function F(a) { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfClass.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfClass.js new file mode 100644 index 0000000000..a07823c973 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfClass.js @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/jsFileCompilationTypeParameterSyntaxOfClass.ts] //// + +//// [a.js] +class C { } + +//// [a.js] +class C { +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfClass.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfClass.js.diff new file mode 100644 index 0000000000..3125777634 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfClass.js.diff @@ -0,0 +1,12 @@ +--- old.jsFileCompilationTypeParameterSyntaxOfClass.js ++++ new.jsFileCompilationTypeParameterSyntaxOfClass.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationTypeParameterSyntaxOfClass.ts] //// ++ ++//// [a.js] ++class C { } ++ ++//// [a.js] ++class C { ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.js new file mode 100644 index 0000000000..acf323e152 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.js @@ -0,0 +1,7 @@ +//// [tests/cases/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.ts] //// + +//// [a.js] +function F() { } + +//// [a.js] +function F() { } diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.js.diff new file mode 100644 index 0000000000..b8c1ad21d2 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.js.diff @@ -0,0 +1,11 @@ +--- old.jsFileCompilationTypeParameterSyntaxOfFunction.js ++++ new.jsFileCompilationTypeParameterSyntaxOfFunction.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationTypeParameterSyntaxOfFunction.ts] //// ++ ++//// [a.js] ++function F() { } ++ ++//// [a.js] ++function F() { } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeSyntaxOfVar.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeSyntaxOfVar.js new file mode 100644 index 0000000000..e17b15be72 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeSyntaxOfVar.js @@ -0,0 +1,7 @@ +//// [tests/cases/compiler/jsFileCompilationTypeSyntaxOfVar.ts] //// + +//// [a.js] +var v: () => number; + +//// [a.js] +var v; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeSyntaxOfVar.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeSyntaxOfVar.js.diff new file mode 100644 index 0000000000..223606c635 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationTypeSyntaxOfVar.js.diff @@ -0,0 +1,11 @@ +--- old.jsFileCompilationTypeSyntaxOfVar.js ++++ new.jsFileCompilationTypeSyntaxOfVar.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/compiler/jsFileCompilationTypeSyntaxOfVar.ts] //// ++ ++//// [a.js] ++var v: () => number; ++ ++//// [a.js] ++var v; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJs.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJs.js new file mode 100644 index 0000000000..7b55fe0546 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJs.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/jsFileCompilationWithMapFileAsJs.ts] //// + +//// [a.ts] +class c { +} + +//// [b.js.map] +function foo() { +} + +//// [b.js] +function bar() { +} + +//// [a.js] +class c { +} +//# sourceMappingURL=a.js.map +//// [b.js] +function bar() { +} +//# sourceMappingURL=b.js.map \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJs.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJs.js.diff new file mode 100644 index 0000000000..1860eab87e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJs.js.diff @@ -0,0 +1,10 @@ +--- old.jsFileCompilationWithMapFileAsJs.js ++++ new.jsFileCompilationWithMapFileAsJs.js +@@= skipped -15, +15 lines =@@ + class c { + } + //# sourceMappingURL=a.js.map ++//// [b.js] ++function bar() { ++} ++//# sourceMappingURL=b.js.map \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js new file mode 100644 index 0000000000..4113b5d025 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.ts] //// + +//// [a.ts] +class c { +} + +//// [b.js.map] +function foo() { +} + +//// [b.js] +function bar() { +} + +//// [a.js] +class c { +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDO0NBQ04ifQ== +//// [b.js] +function bar() { +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxHQUFHLEdBQUc7QUFBQyxDQUNmIn0= \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js.diff new file mode 100644 index 0000000000..a209cdc5b3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js.diff @@ -0,0 +1,10 @@ +--- old.jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js ++++ new.jsFileCompilationWithMapFileAsJsWithInlineSourceMap.js +@@= skipped -15, +15 lines =@@ + class c { + } + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDO0NBQ04ifQ== ++//// [b.js] ++function bar() { ++} ++//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxHQUFHLEdBQUc7QUFBQyxDQUNmIn0= \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.js new file mode 100644 index 0000000000..48abc4037a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.ts] //// + +//// [a.ts] +class c { +} + +//// [b.js.map] +function foo() { +} + +//// [b.js] +function bar() { +} + +//// [a.js] +class c { +} +//# sourceMappingURL=a.js.map +//// [b.js] +function bar() { +} +//# sourceMappingURL=b.js.map \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutJsExtensions.errors.txt.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutJsExtensions.errors.txt.diff new file mode 100644 index 0000000000..aa5135ffa1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutJsExtensions.errors.txt.diff @@ -0,0 +1,14 @@ +--- old.jsFileCompilationWithoutJsExtensions.errors.txt ++++ new.jsFileCompilationWithoutJsExtensions.errors.txt +@@= skipped -0, +0 lines =@@ +-error TS6504: File 'a.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? +- The file is in the program because: +- Root file specified for compilation +- +- +-!!! error TS6504: File 'a.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? +-!!! error TS6504: The file is in the program because: +-!!! error TS6504: Root file specified for compilation +-==== a.js (0 errors) ==== +- declare var v; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutOut.js b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutOut.js new file mode 100644 index 0000000000..8dcae4ea8d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutOut.js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/jsFileCompilationWithoutOut.ts] //// + +//// [a.ts] +class c { +} + +//// [b.js] +function foo() { +} + + +//// [a.js] +class c { +} +//// [b.js] +function foo() { +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutOut.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutOut.js.diff new file mode 100644 index 0000000000..35b44e5ad2 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileCompilationWithoutOut.js.diff @@ -0,0 +1,9 @@ +--- old.jsFileCompilationWithoutOut.js ++++ new.jsFileCompilationWithoutOut.js +@@= skipped -11, +11 lines =@@ + //// [a.js] + class c { + } ++//// [b.js] ++function foo() { ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads.js b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads.js new file mode 100644 index 0000000000..294ffec347 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads.js @@ -0,0 +1,132 @@ +//// [tests/cases/compiler/jsFileFunctionOverloads.ts] //// + +//// [jsFileFunctionOverloads.js] +/** + * @overload + * @param {number} x + * @returns {'number'} + */ +/** + * @overload + * @param {string} x + * @returns {'string'} + */ +/** + * @overload + * @param {boolean} x + * @returns {'boolean'} + */ +/** + * @param {unknown} x + * @returns {string} + */ + function getTypeName(x) { + return typeof x; +} + +/** + * @template T + * @param {T} x + * @returns {T} + */ +const identity = x => x; + +/** + * @template T + * @template U + * @overload + * @param {T[]} array + * @param {(x: T) => U[]} iterable + * @returns {U[]} + */ +/** + * @template T + * @overload + * @param {T[][]} array + * @returns {T[]} + */ +/** + * @param {unknown[]} array + * @param {(x: unknown) => unknown} iterable + * @returns {unknown[]} + */ +function flatMap(array, iterable = identity) { + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { + result.push(.../** @type {unknown[]} */(iterable(array[i]))); + } + return result; +} + + +//// [jsFileFunctionOverloads.js] +/** + * @overload + * @param {number} x + * @returns {'number'} + */ +/** + * @overload + * @param {string} x + * @returns {'string'} + */ +/** + * @overload + * @param {boolean} x + * @returns {'boolean'} + */ +/** + * @param {unknown} x + * @returns {string} + */ +function getTypeName(x) { + return typeof x; +} +/** + * @template T + * @param {T} x + * @returns {T} + */ +const identity = x => x; +/** + * @template T + * @template U + * @overload + * @param {T[]} array + * @param {(x: T) => U[]} iterable + * @returns {U[]} + */ +/** + * @template T + * @overload + * @param {T[][]} array + * @returns {T[]} + */ +/** + * @param {unknown[]} array + * @param {(x: unknown) => unknown} iterable + * @returns {unknown[]} + */ +function flatMap(array, iterable = identity) { + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { + result.push(... /** @type {unknown[]} */iterable(array[i])); + } + return result; +} + + +//// [jsFileFunctionOverloads.d.ts] +declare function getTypeName(x: number): 'number'; +declare function getTypeName(x: string): 'string'; +declare function getTypeName(x: boolean): 'boolean'; +/** + * @template T + * @param {T} x + * @returns {T} + */ +declare const identity: (x: T) => T; +declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; +declare function flatMap(array: T[][]): T[]; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads.js.diff new file mode 100644 index 0000000000..90f6061451 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads.js.diff @@ -0,0 +1,60 @@ +--- old.jsFileFunctionOverloads.js ++++ new.jsFileFunctionOverloads.js +@@= skipped -111, +111 lines =@@ + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { +- result.push(... /** @type {unknown[]} */(iterable(array[i]))); ++ result.push(... /** @type {unknown[]} */iterable(array[i])); + } + return result; + } + + + //// [jsFileFunctionOverloads.d.ts] +-/** +- * @overload +- * @param {number} x +- * @returns {'number'} +- */ +-declare function getTypeName(x: number): "number"; +-/** +- * @overload +- * @param {string} x +- * @returns {'string'} +- */ +-declare function getTypeName(x: string): "string"; +-/** +- * @overload +- * @param {boolean} x +- * @returns {'boolean'} +- */ +-declare function getTypeName(x: boolean): "boolean"; +-/** +- * @template T +- * @template U +- * @overload +- * @param {T[]} array +- * @param {(x: T) => U[]} iterable +- * @returns {U[]} +- */ +-declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; +-/** +- * @template T +- * @overload +- * @param {T[][]} array +- * @returns {T[]} +- */ +-declare function flatMap(array: T[][]): T[]; ++declare function getTypeName(x: number): 'number'; ++declare function getTypeName(x: string): 'string'; ++declare function getTypeName(x: boolean): 'boolean'; + /** + * @template T + * @param {T} x + * @returns {T} + */ +-declare function identity(x: T): T; ++declare const identity: (x: T) => T; ++declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; ++declare function flatMap(array: T[][]): T[]; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads2.js b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads2.js new file mode 100644 index 0000000000..91b2848fb0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads2.js @@ -0,0 +1,148 @@ +//// [tests/cases/compiler/jsFileFunctionOverloads2.ts] //// + +//// [jsFileFunctionOverloads2.js] +// Also works if all @overload tags are combined in one comment. +/** + * @overload + * @param {number} x + * @returns {'number'} + * + * @overload + * @param {string} x + * @returns {'string'} + * + * @overload + * @param {boolean} x + * @returns {'boolean'} + * + * @param {unknown} x + * @returns {string} + */ + function getTypeName(x) { + return typeof x; +} + +/** + * @template T + * @param {T} x + * @returns {T} + */ +const identity = x => x; + +/** + * @template T + * @template U + * @overload + * @param {T[]} array + * @param {(x: T) => U[]} iterable + * @returns {U[]} + * + * @overload + * @param {T[][]} array + * @returns {T[]} + * + * @param {unknown[]} array + * @param {(x: unknown) => unknown} iterable + * @returns {unknown[]} + */ +function flatMap(array, iterable = identity) { + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { + result.push(.../** @type {unknown[]} */(iterable(array[i]))); + } + return result; +} + + +//// [jsFileFunctionOverloads2.js] +// Also works if all @overload tags are combined in one comment. +/** + * @overload + * @param {number} x + * @returns {'number'} + * + * @overload + * @param {string} x + * @returns {'string'} + * + * @overload + * @param {boolean} x + * @returns {'boolean'} + * + * @param {unknown} x + * @returns {string} + */ +function getTypeName(x) { + return typeof x; +} +/** + * @template T + * @param {T} x + * @returns {T} + */ +const identity = x => x; +/** + * @template T + * @template U + * @overload + * @param {T[]} array + * @param {(x: T) => U[]} iterable + * @returns {U[]} + * + * @overload + * @param {T[][]} array + * @returns {T[]} + * + * @param {unknown[]} array + * @param {(x: unknown) => unknown} iterable + * @returns {unknown[]} + */ +function flatMap(array, iterable = identity) { + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { + result.push(... /** @type {unknown[]} */iterable(array[i])); + } + return result; +} + + +//// [jsFileFunctionOverloads2.d.ts] +declare function getTypeName(x: number): 'number'; +declare function getTypeName(x: string): 'string'; +declare function getTypeName(x: boolean): 'boolean'; +/** + * @template T + * @param {T} x + * @returns {T} + */ +declare const identity: (x: T) => T; +declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; +declare function flatMap(array: T[][]): T[]; + + +//// [DtsFileErrors] + + +dist/jsFileFunctionOverloads2.d.ts(11,33): error TS2304: Cannot find name 'T'. +dist/jsFileFunctionOverloads2.d.ts(11,41): error TS2304: Cannot find name 'T'. + + +==== dist/jsFileFunctionOverloads2.d.ts (2 errors) ==== + declare function getTypeName(x: number): 'number'; + declare function getTypeName(x: string): 'string'; + declare function getTypeName(x: boolean): 'boolean'; + /** + * @template T + * @param {T} x + * @returns {T} + */ + declare const identity: (x: T) => T; + declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; + declare function flatMap(array: T[][]): T[]; + ~ +!!! error TS2304: Cannot find name 'T'. + ~ +!!! error TS2304: Cannot find name 'T'. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads2.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads2.js.diff new file mode 100644 index 0000000000..9356c66d0d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileFunctionOverloads2.js.diff @@ -0,0 +1,137 @@ +--- old.jsFileFunctionOverloads2.js ++++ new.jsFileFunctionOverloads2.js +@@= skipped -101, +101 lines =@@ + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { +- result.push(... /** @type {unknown[]} */(iterable(array[i]))); ++ result.push(... /** @type {unknown[]} */iterable(array[i])); + } + return result; + } + + + //// [jsFileFunctionOverloads2.d.ts] +-/** +- * @overload +- * @param {number} x +- * @returns {'number'} +- * +- * @overload +- * @param {string} x +- * @returns {'string'} +- * +- * @overload +- * @param {boolean} x +- * @returns {'boolean'} +- * +- * @param {unknown} x +- * @returns {string} +- */ +-declare function getTypeName(x: number): "number"; +-/** +- * @overload +- * @param {number} x +- * @returns {'number'} +- * +- * @overload +- * @param {string} x +- * @returns {'string'} +- * +- * @overload +- * @param {boolean} x +- * @returns {'boolean'} +- * +- * @param {unknown} x +- * @returns {string} +- */ +-declare function getTypeName(x: string): "string"; +-/** +- * @overload +- * @param {number} x +- * @returns {'number'} +- * +- * @overload +- * @param {string} x +- * @returns {'string'} +- * +- * @overload +- * @param {boolean} x +- * @returns {'boolean'} +- * +- * @param {unknown} x +- * @returns {string} +- */ +-declare function getTypeName(x: boolean): "boolean"; +-/** +- * @template T +- * @template U +- * @overload +- * @param {T[]} array +- * @param {(x: T) => U[]} iterable +- * @returns {U[]} +- * +- * @overload +- * @param {T[][]} array +- * @returns {T[]} +- * +- * @param {unknown[]} array +- * @param {(x: unknown) => unknown} iterable +- * @returns {unknown[]} +- */ +-declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; +-/** +- * @template T +- * @template U +- * @overload +- * @param {T[]} array +- * @param {(x: T) => U[]} iterable +- * @returns {U[]} +- * +- * @overload +- * @param {T[][]} array +- * @returns {T[]} +- * +- * @param {unknown[]} array +- * @param {(x: unknown) => unknown} iterable +- * @returns {unknown[]} +- */ +-declare function flatMap(array: T[][]): T[]; ++declare function getTypeName(x: number): 'number'; ++declare function getTypeName(x: string): 'string'; ++declare function getTypeName(x: boolean): 'boolean'; + /** + * @template T + * @param {T} x + * @returns {T} + */ +-declare function identity(x: T): T; ++declare const identity: (x: T) => T; ++declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; ++declare function flatMap(array: T[][]): T[]; ++ ++ ++//// [DtsFileErrors] ++ ++ ++dist/jsFileFunctionOverloads2.d.ts(11,33): error TS2304: Cannot find name 'T'. ++dist/jsFileFunctionOverloads2.d.ts(11,41): error TS2304: Cannot find name 'T'. ++ ++ ++==== dist/jsFileFunctionOverloads2.d.ts (2 errors) ==== ++ declare function getTypeName(x: number): 'number'; ++ declare function getTypeName(x: string): 'string'; ++ declare function getTypeName(x: boolean): 'boolean'; ++ /** ++ * @template T ++ * @param {T} x ++ * @returns {T} ++ */ ++ declare const identity: (x: T) => T; ++ declare function flatMap(array: T[], iterable: (x: T) => U[]): U[]; ++ declare function flatMap(array: T[][]): T[]; ++ ~ ++!!! error TS2304: Cannot find name 'T'. ++ ~ ++!!! error TS2304: Cannot find name 'T'. ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileImportPreservedWhenUsed.js b/testdata/baselines/reference/submodule/compiler/jsFileImportPreservedWhenUsed.js new file mode 100644 index 0000000000..5f4a6d5bb4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileImportPreservedWhenUsed.js @@ -0,0 +1,45 @@ +//// [tests/cases/compiler/jsFileImportPreservedWhenUsed.ts] //// + +//// [dash.d.ts] +type ObjectIterator = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult; + +interface LoDashStatic { + mapValues(obj: T | null | undefined, callback: ObjectIterator): { [P in keyof T]: TResult }; +} +declare const _: LoDashStatic; +export = _; +//// [Consts.ts] +export const INDEX_FIELD = '__INDEX'; +//// [index.js] +import * as _ from './dash'; +import { INDEX_FIELD } from './Consts'; + +export class Test { + /** + * @param {object} obj + * @param {object} vm + */ + test(obj, vm) { + let index = 0; + vm.objects = _.mapValues( + obj, + object => ({ ...object, [INDEX_FIELD]: index++ }), + ); + } +} + +//// [Consts.js] +export const INDEX_FIELD = '__INDEX'; +//// [index.js] +import * as _ from './dash'; +import { INDEX_FIELD } from './Consts'; +export class Test { + /** + * @param {object} obj + * @param {object} vm + */ + test(obj, vm) { + let index = 0; + vm.objects = _.mapValues(obj, object => ({ ...object, [INDEX_FIELD]: index++ })); + } +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads.js b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads.js new file mode 100644 index 0000000000..bc616f891f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads.js @@ -0,0 +1,166 @@ +//// [tests/cases/compiler/jsFileMethodOverloads.ts] //// + +//// [jsFileMethodOverloads.js] +/** + * @template T + */ + class Example { + /** + * @param {T} value + */ + constructor(value) { + this.value = value; + } + + /** + * @overload + * @param {Example} this + * @returns {'number'} + */ + /** + * @overload + * @param {Example} this + * @returns {'string'} + */ + /** + * @returns {string} + */ + getTypeName() { + return typeof this.value; + } + + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + */ + /** + * @overload + * @returns {T} + */ + /** + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(fn) { + return fn ? fn(this.value) : this.value; + } +} + + +//// [jsFileMethodOverloads.js] +/** + * @template T + */ +class Example { + /** + * @param {T} value + */ + constructor(value) { + this.value = value; + } + /** + * @overload + * @param {Example} this + * @returns {'number'} + */ + /** + * @overload + * @param {Example} this + * @returns {'string'} + */ + /** + * @returns {string} + */ + getTypeName() { + return typeof this.value; + } + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + */ + /** + * @overload + * @returns {T} + */ + /** + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(fn) { + return fn ? fn(this.value) : this.value; + } +} + + +//// [jsFileMethodOverloads.d.ts] +/** + * @template T + */ +declare class Example { + /** + * @param {T} value + */ + constructor(value: T); + /** + * @overload + * @param {Example} this + * @returns {'number'} + */ + /** + * @overload + * @param {Example} this + * @returns {'string'} + */ + /** + * @returns {string} + */ + getTypeName(this: Example): 'number'; + /** + * @overload + * @param {Example} this + * @returns {'number'} + */ + /** + * @overload + * @param {Example} this + * @returns {'string'} + */ + /** + * @returns {string} + */ + getTypeName(this: Example): 'string'; + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + */ + /** + * @overload + * @returns {T} + */ + /** + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(fn: (y: T) => U): U; + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + */ + /** + * @overload + * @returns {T} + */ + /** + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(): T; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads.js.diff new file mode 100644 index 0000000000..941e442062 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads.js.diff @@ -0,0 +1,78 @@ +--- old.jsFileMethodOverloads.js ++++ new.jsFileMethodOverloads.js +@@= skipped -104, +104 lines =@@ + * @param {T} value + */ + constructor(value: T); +- value: T; +- /** +- * @overload +- * @param {Example} this +- * @returns {'number'} +- */ +- getTypeName(this: Example): "number"; +- /** +- * @overload +- * @param {Example} this +- * @returns {'string'} +- */ +- getTypeName(this: Example): "string"; ++ /** ++ * @overload ++ * @param {Example} this ++ * @returns {'number'} ++ */ ++ /** ++ * @overload ++ * @param {Example} this ++ * @returns {'string'} ++ */ ++ /** ++ * @returns {string} ++ */ ++ getTypeName(this: Example): 'number'; ++ /** ++ * @overload ++ * @param {Example} this ++ * @returns {'number'} ++ */ ++ /** ++ * @overload ++ * @param {Example} this ++ * @returns {'string'} ++ */ ++ /** ++ * @returns {string} ++ */ ++ getTypeName(this: Example): 'string'; + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} ++ */ ++ /** ++ * @overload ++ * @returns {T} ++ */ ++ /** ++ * @param {(y: T) => unknown} [fn] ++ * @returns {unknown} + */ + transform(fn: (y: T) => U): U; + /** ++ * @template U ++ * @overload ++ * @param {(y: T) => U} fn ++ * @returns {U} ++ */ ++ /** + * @overload + * @returns {T} ++ */ ++ /** ++ * @param {(y: T) => unknown} [fn] ++ * @returns {unknown} + */ + transform(): T; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads2.js b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads2.js new file mode 100644 index 0000000000..2324bf85d1 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads2.js @@ -0,0 +1,153 @@ +//// [tests/cases/compiler/jsFileMethodOverloads2.ts] //// + +//// [jsFileMethodOverloads2.js] +// Also works if all @overload tags are combined in one comment. +/** + * @template T + */ + class Example { + /** + * @param {T} value + */ + constructor(value) { + this.value = value; + } + + /** + * @overload + * @param {Example} this + * @returns {'number'} + * + * @overload + * @param {Example} this + * @returns {'string'} + * + * @returns {string} + */ + getTypeName() { + return typeof this.value; + } + + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + * + * @overload + * @returns {T} + * + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(fn) { + return fn ? fn(this.value) : this.value; + } +} + + +//// [jsFileMethodOverloads2.js] +// Also works if all @overload tags are combined in one comment. +/** + * @template T + */ +class Example { + /** + * @param {T} value + */ + constructor(value) { + this.value = value; + } + /** + * @overload + * @param {Example} this + * @returns {'number'} + * + * @overload + * @param {Example} this + * @returns {'string'} + * + * @returns {string} + */ + getTypeName() { + return typeof this.value; + } + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + * + * @overload + * @returns {T} + * + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(fn) { + return fn ? fn(this.value) : this.value; + } +} + + +//// [jsFileMethodOverloads2.d.ts] +// Also works if all @overload tags are combined in one comment. +/** + * @template T + */ +declare class Example { + /** + * @param {T} value + */ + constructor(value: T); + /** + * @overload + * @param {Example} this + * @returns {'number'} + * + * @overload + * @param {Example} this + * @returns {'string'} + * + * @returns {string} + */ + getTypeName(this: Example): 'number'; + /** + * @overload + * @param {Example} this + * @returns {'number'} + * + * @overload + * @param {Example} this + * @returns {'string'} + * + * @returns {string} + */ + getTypeName(this: Example): 'string'; + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + * + * @overload + * @returns {T} + * + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(fn: (y: T) => U): U; + /** + * @template U + * @overload + * @param {(y: T) => U} fn + * @returns {U} + * + * @overload + * @returns {T} + * + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ + transform(): T; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads2.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads2.js.diff new file mode 100644 index 0000000000..58f522b3ad --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads2.js.diff @@ -0,0 +1,73 @@ +--- old.jsFileMethodOverloads2.js ++++ new.jsFileMethodOverloads2.js +@@= skipped -90, +90 lines =@@ + + + //// [jsFileMethodOverloads2.d.ts] ++// Also works if all @overload tags are combined in one comment. + /** + * @template T + */ +@@= skipped -8, +9 lines =@@ + * @param {T} value + */ + constructor(value: T); +- value: T; +- /** +- * @overload +- * @param {Example} this +- * @returns {'number'} +- * +- * @overload +- * @param {Example} this +- * @returns {'string'} +- * +- * @returns {string} +- */ +- getTypeName(this: Example): "number"; +- /** +- * @overload +- * @param {Example} this +- * @returns {'number'} +- * +- * @overload +- * @param {Example} this +- * @returns {'string'} +- * +- * @returns {string} +- */ +- getTypeName(this: Example): "string"; ++ /** ++ * @overload ++ * @param {Example} this ++ * @returns {'number'} ++ * ++ * @overload ++ * @param {Example} this ++ * @returns {'string'} ++ * ++ * @returns {string} ++ */ ++ getTypeName(this: Example): 'number'; ++ /** ++ * @overload ++ * @param {Example} this ++ * @returns {'number'} ++ * ++ * @overload ++ * @param {Example} this ++ * @returns {'string'} ++ * ++ * @returns {string} ++ */ ++ getTypeName(this: Example): 'string'; + /** + * @template U + * @overload +@@= skipped -50, +49 lines =@@ + * @param {(y: T) => unknown} [fn] + * @returns {unknown} + */ +- transform(): T; ++ transform(): T; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads4.js b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads4.js new file mode 100644 index 0000000000..1ad521c844 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads4.js @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/jsFileMethodOverloads4.ts] //// + +//// [a.js] +export function Foo() { } + +/** + * @overload + * @param {string} a + * @return {void} + */ + +/** + * @overload + * @param {number} a + * @param {string} b + * @return {void} + */ + +/** + * @param {string | number} a + * @param {string} [b] + * @return {void} + */ +Foo.prototype.bar = function (a, b) { } + + + + +//// [a.d.ts] +export declare function Foo(): void; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads4.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads4.js.diff new file mode 100644 index 0000000000..6067dad029 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads4.js.diff @@ -0,0 +1,23 @@ +--- old.jsFileMethodOverloads4.js ++++ new.jsFileMethodOverloads4.js +@@= skipped -26, +26 lines =@@ + + + //// [a.d.ts] +-export function Foo(): void; +-export class Foo { +- /** +- * @overload +- * @param {string} a +- * @return {void} +- */ +- bar(a: string): void; +- /** +- * @overload +- * @param {number} a +- * @param {string} b +- * @return {void} +- */ +- bar(a: number, b: string): void; +-} ++export declare function Foo(): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads5.js b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads5.js new file mode 100644 index 0000000000..77afcc7088 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads5.js @@ -0,0 +1,42 @@ +//// [tests/cases/compiler/jsFileMethodOverloads5.ts] //// + +//// [a.js] +/** + * @overload + * @param {string} a + * @return {void} + */ + +/** + * @overload + * @param {number} a + * @param {number} [b] + * @return {void} + */ + +/** + * @param {string | number} a + * @param {number} [b] + */ +export const foo = function (a, b) { } + + + + +//// [a.d.ts] +/** + * @overload + * @param {string} a + * @return {void} + */ +/** + * @overload + * @param {number} a + * @param {number} [b] + * @return {void} + */ +/** + * @param {string | number} a + * @param {number} [b] + */ +export declare const foo: (a: string | number, b?: number) => void; diff --git a/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads5.js.diff b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads5.js.diff new file mode 100644 index 0000000000..43d66a80c9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFileMethodOverloads5.js.diff @@ -0,0 +1,19 @@ +--- old.jsFileMethodOverloads5.js ++++ new.jsFileMethodOverloads5.js +@@= skipped -28, +28 lines =@@ + * @param {string} a + * @return {void} + */ +-export function foo(a: string): void; + /** + * @overload + * @param {number} a + * @param {number} [b] + * @return {void} + */ +-export function foo(a: number, b?: number): void; ++/** ++ * @param {string | number} a ++ * @param {number} [b] ++ */ ++export declare const foo: (a: string | number, b?: number) => void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsFunctionWithPrototypeNoErrorTruncationNoCrash.js b/testdata/baselines/reference/submodule/compiler/jsFunctionWithPrototypeNoErrorTruncationNoCrash.js new file mode 100644 index 0000000000..0fb4576926 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsFunctionWithPrototypeNoErrorTruncationNoCrash.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/jsFunctionWithPrototypeNoErrorTruncationNoCrash.ts] //// + +//// [index.js] +function Color(obj) { + this.example = true +}; +Color.prototype = { + negate: function () {return this;}, + lighten: function (ratio) {return this;}, + darken: function (ratio) {return this;}, + saturate: function (ratio) {return this;}, + desaturate: function (ratio) {return this;}, + whiten: function (ratio) {return this;}, + blacken: function (ratio) {return this;}, + greyscale: function () {return this;}, + clearer: function (ratio) {return this;}, + toJSON: function () {return this.rgb();}, +}; + +//// [index.js] +function Color(obj) { + this.example = true; +} +; +Color.prototype = { + negate: function () { return this; }, + lighten: function (ratio) { return this; }, + darken: function (ratio) { return this; }, + saturate: function (ratio) { return this; }, + desaturate: function (ratio) { return this; }, + whiten: function (ratio) { return this; }, + blacken: function (ratio) { return this; }, + greyscale: function () { return this; }, + clearer: function (ratio) { return this; }, + toJSON: function () { return this.rgb(); }, +}; diff --git a/testdata/baselines/reference/submodule/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.js b/testdata/baselines/reference/submodule/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.js new file mode 100644 index 0000000000..24b8427db2 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.ts] //// + +//// [somelib.d.ts] +export declare class Foo { + prop: T; +} +//// [index.js] +import {Foo} from "./somelib"; + +class MyFoo extends Foo { + constructor() { + super(); + this.prop.alpha = 12; + } +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const somelib_1 = require("./somelib"); +class MyFoo extends somelib_1.Foo { + constructor() { + super(); + this.prop.alpha = 12; + } +} diff --git a/testdata/baselines/reference/submodule/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.js.diff b/testdata/baselines/reference/submodule/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.js.diff new file mode 100644 index 0000000000..280dbab05a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsNoImplicitAnyNoCascadingReferenceErrors.js.diff @@ -0,0 +1,11 @@ +--- old.jsNoImplicitAnyNoCascadingReferenceErrors.js ++++ new.jsNoImplicitAnyNoCascadingReferenceErrors.js +@@= skipped -17, +17 lines =@@ + //// [index.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var somelib_1 = require("./somelib"); ++const somelib_1 = require("./somelib"); + class MyFoo extends somelib_1.Foo { + constructor() { + super(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsdocFunctionClassPropertiesDeclaration.js b/testdata/baselines/reference/submodule/compiler/jsdocFunctionClassPropertiesDeclaration.js new file mode 100644 index 0000000000..269ce148f2 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocFunctionClassPropertiesDeclaration.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/jsdocFunctionClassPropertiesDeclaration.ts] //// + +//// [a.js] +/** + * @param {number | undefined} x + * @param {number | undefined} y + */ +export function Foo(x, y) { + if (!(this instanceof Foo)) { + return new Foo(x, y); + } + this.x = x; + this.y = y; +} + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo = Foo; +/** + * @param {number | undefined} x + * @param {number | undefined} y + */ +function Foo(x, y) { + if (!(this instanceof Foo)) { + return new Foo(x, y); + } + this.x = x; + this.y = y; +} + + +//// [a.d.ts] +/** + * @param {number | undefined} x + * @param {number | undefined} y + */ +export declare function Foo(x: number | undefined, y: number | undefined): any; diff --git a/testdata/baselines/reference/submodule/compiler/jsdocFunctionClassPropertiesDeclaration.js.diff b/testdata/baselines/reference/submodule/compiler/jsdocFunctionClassPropertiesDeclaration.js.diff new file mode 100644 index 0000000000..073d991672 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocFunctionClassPropertiesDeclaration.js.diff @@ -0,0 +1,17 @@ +--- old.jsdocFunctionClassPropertiesDeclaration.js ++++ new.jsdocFunctionClassPropertiesDeclaration.js +@@= skipped -35, +35 lines =@@ + * @param {number | undefined} x + * @param {number | undefined} y + */ +-export function Foo(x: number | undefined, y: number | undefined): Foo; +-export class Foo { +- /** +- * @param {number | undefined} x +- * @param {number | undefined} y +- */ +- constructor(x: number | undefined, y: number | undefined); +- x: number | undefined; +- y: number | undefined; +-} ++export declare function Foo(x: number | undefined, y: number | undefined): any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsdocTypeCast.js b/testdata/baselines/reference/submodule/compiler/jsdocTypeCast.js new file mode 100644 index 0000000000..cec149134d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocTypeCast.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/jsdocTypeCast.ts] //// + +//// [jsdocTypeCast.js] +/** + * @param {string} x + */ + function f(x) { + /** @type {'a' | 'b'} */ + let a = (x); // Error + a; + + /** @type {'a' | 'b'} */ + let b = (((x))); // Error + b; + + /** @type {'a' | 'b'} */ + let c = /** @type {'a' | 'b'} */ (x); // Ok + c; +} + + +//// [jsdocTypeCast.js] +/** + * @param {string} x + */ +function f(x) { + /** @type {'a' | 'b'} */ + let a = (x); // Error + a; + /** @type {'a' | 'b'} */ + let b = (((x))); // Error + b; + /** @type {'a' | 'b'} */ + let c = /** @type {'a' | 'b'} */ x; // Ok + c; +} diff --git a/testdata/baselines/reference/submodule/compiler/jsdocTypeCast.js.diff b/testdata/baselines/reference/submodule/compiler/jsdocTypeCast.js.diff new file mode 100644 index 0000000000..61084e3733 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocTypeCast.js.diff @@ -0,0 +1,10 @@ +--- old.jsdocTypeCast.js ++++ new.jsdocTypeCast.js +@@= skipped -30, +30 lines =@@ + let b = (((x))); // Error + b; + /** @type {'a' | 'b'} */ +- let c = /** @type {'a' | 'b'} */ (x); // Ok ++ let c = /** @type {'a' | 'b'} */ x; // Ok + c; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsdocTypecastNoTypeNoCrash.js b/testdata/baselines/reference/submodule/compiler/jsdocTypecastNoTypeNoCrash.js new file mode 100644 index 0000000000..fac9c131cd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocTypecastNoTypeNoCrash.js @@ -0,0 +1,10 @@ +//// [tests/cases/compiler/jsdocTypecastNoTypeNoCrash.ts] //// + +//// [index.js] +function Foo() {} +const a = /* @type string */(Foo); + + +//// [index.js] +function Foo() { } +const a = /* @type string */ (Foo); diff --git a/testdata/baselines/reference/submodule/compiler/jsdocTypedefNoCrash.js b/testdata/baselines/reference/submodule/compiler/jsdocTypedefNoCrash.js new file mode 100644 index 0000000000..db7bd21639 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocTypedefNoCrash.js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/jsdocTypedefNoCrash.ts] //// + +//// [export.js] +/** + * @typedef {{ + * }} + */ +export const foo = 5; + +//// [export.js] +/** + * @typedef {{ + * }} + */ +export const foo = 5; diff --git a/testdata/baselines/reference/submodule/compiler/jsdocTypedefNoCrash2.js b/testdata/baselines/reference/submodule/compiler/jsdocTypedefNoCrash2.js new file mode 100644 index 0000000000..1daebf6f66 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsdocTypedefNoCrash2.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/jsdocTypedefNoCrash2.ts] //// + +//// [export.js] +export type foo = 5; +/** + * @typedef {{ + * }} + */ +export const foo = 5; + +//// [export.js] +/** + * @typedef {{ + * }} + */ +export const foo = 5; diff --git a/testdata/baselines/reference/submodule/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.js b/testdata/baselines/reference/submodule/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.js new file mode 100644 index 0000000000..b62c42e7db --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.js @@ -0,0 +1,47 @@ +//// [tests/cases/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.tsx] //// + +//// [jsxDeclarationsWithEsModuleInteropNoCrash.jsx] +/// +import PropTypes from 'prop-types'; +import React from 'react'; + +const propTypes = { + bar: PropTypes.bool, +}; + +const defaultProps = { + bar: false, +}; + +function Foo({ bar }) { + return
{bar}
; +} + +Foo.propTypes = propTypes; +Foo.defaultProps = defaultProps; + +export default Foo; + + + +//// [jsxDeclarationsWithEsModuleInteropNoCrash.d.ts] +declare function Foo({ bar }: { + bar: any; +}): JSX.Element; +export default Foo; + + +//// [DtsFileErrors] + + +jsxDeclarationsWithEsModuleInteropNoCrash.d.ts(3,5): error TS2503: Cannot find namespace 'JSX'. + + +==== jsxDeclarationsWithEsModuleInteropNoCrash.d.ts (1 errors) ==== + declare function Foo({ bar }: { + bar: any; + }): JSX.Element; + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + export default Foo; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.js.diff b/testdata/baselines/reference/submodule/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.js.diff new file mode 100644 index 0000000000..3c315b9637 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsxDeclarationsWithEsModuleInteropNoCrash.js.diff @@ -0,0 +1,40 @@ +--- old.jsxDeclarationsWithEsModuleInteropNoCrash.js ++++ new.jsxDeclarationsWithEsModuleInteropNoCrash.js +@@= skipped -24, +24 lines =@@ + + + //// [jsxDeclarationsWithEsModuleInteropNoCrash.d.ts] +-/// +-export default Foo; + declare function Foo({ bar }: { + bar: any; + }): JSX.Element; +-declare namespace Foo { +- export { propTypes }; +- export { defaultProps }; +-} +-declare namespace propTypes { +- let bar: PropTypes.Requireable; +-} +-declare namespace defaultProps { +- let bar_1: boolean; +- export { bar_1 as bar }; +-} +-import PropTypes from 'prop-types'; ++export default Foo; ++ ++ ++//// [DtsFileErrors] ++ ++ ++jsxDeclarationsWithEsModuleInteropNoCrash.d.ts(3,5): error TS2503: Cannot find namespace 'JSX'. ++ ++ ++==== jsxDeclarationsWithEsModuleInteropNoCrash.d.ts (1 errors) ==== ++ declare function Foo({ bar }: { ++ bar: any; ++ }): JSX.Element; ++ ~~~ ++!!! error TS2503: Cannot find namespace 'JSX'. ++ export default Foo; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/jsxPreserveWithJsInput.js b/testdata/baselines/reference/submodule/compiler/jsxPreserveWithJsInput.js new file mode 100644 index 0000000000..e91d2a0c19 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/jsxPreserveWithJsInput.js @@ -0,0 +1,28 @@ +//// [tests/cases/compiler/jsxPreserveWithJsInput.ts] //// + +//// [a.js] +var elemA = 42; + +//// [b.jsx] +var elemB = {"test"}; + +//// [c.js] +var elemC = {42}; + +//// [d.ts] +var elemD = 42; + +//// [e.tsx] +var elemE = {true}; + + +//// [a.js] +var elemA = 42; +//// [b.jsx] +var elemB = {"test"}; +//// [c.js] +var elemC = {42}; +//// [d.js] +var elemD = 42; +//// [e.jsx] +var elemE = {true}; diff --git a/testdata/baselines/reference/submodule/compiler/lateBoundMethodNameAssigmentJS.js b/testdata/baselines/reference/submodule/compiler/lateBoundMethodNameAssigmentJS.js new file mode 100644 index 0000000000..3302e18851 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/lateBoundMethodNameAssigmentJS.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/lateBoundMethodNameAssigmentJS.ts] //// + +//// [lateBoundMethodNameAssigmentJS.js] +const _symbol = Symbol("_sym"); +export class MyClass { + constructor() { + this[_symbol] = this[_symbol].bind(this); + } + + async [_symbol]() { } +} + + + +//// [lateBoundMethodNameAssigmentJS.d.ts] +declare const _symbol: unique symbol; +export declare class MyClass { + constructor(); + [_symbol](): Promise; +} +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/lateBoundMethodNameAssigmentJS.js.diff b/testdata/baselines/reference/submodule/compiler/lateBoundMethodNameAssigmentJS.js.diff new file mode 100644 index 0000000000..53d57d98ab --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/lateBoundMethodNameAssigmentJS.js.diff @@ -0,0 +1,15 @@ +--- old.lateBoundMethodNameAssigmentJS.js ++++ new.lateBoundMethodNameAssigmentJS.js +@@= skipped -12, +12 lines =@@ + + + //// [lateBoundMethodNameAssigmentJS.d.ts] +-export class MyClass { +- [_symbol]: any; +-} + declare const _symbol: unique symbol; ++export declare class MyClass { ++ constructor(); ++ [_symbol](): Promise; ++} + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/localRequireFunction.js b/testdata/baselines/reference/submodule/compiler/localRequireFunction.js new file mode 100644 index 0000000000..b059a19a1a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/localRequireFunction.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/localRequireFunction.ts] //// + +//// [app.js] +function require(a) { + return a; +} + +const fs = require("fs"); +const text = fs.readFileSync("/a/b/c"); + +//// [app.js] +function require(a) { + return a; +} +const fs = require("fs"); +const text = fs.readFileSync("/a/b/c"); diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.errors.txt b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.errors.txt new file mode 100644 index 0000000000..da01dbcd52 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.errors.txt @@ -0,0 +1,34 @@ +mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ dispatchEvent: unknown; onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; addEventListener: any; removeEventListener: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; }>'. + The types of 'responseXML.body.shadowRoot.activeElement.assignedSlot.style.parentRule.parentStyleSheet.ownerNode' are incompatible between these types. + Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRelevant: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly currentCSSZoom: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly ownerDocument: any; getElementById: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; dispatchEvent: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; } | { data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. + Type 'Element' is not assignable to type 'Deep<{ ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRelevant: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly currentCSSZoom: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly ownerDocument: any; getElementById: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; dispatchEvent: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; } | { data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. + + +==== mappedTypeRecursiveInference.ts (1 errors) ==== + interface A { a: A } + declare let a: A; + type Deep = { [K in keyof T]: Deep } + declare function foo(deep: Deep): T; + const out = foo(a); + out.a + out.a.a + out.a.a.a.a.a.a.a + + + interface B { [s: string]: B } + declare let b: B; + const oub = foo(b); + oub.b + oub.b.b + oub.b.a.n.a.n.a + + let xhr: XMLHttpRequest; + const out2 = foo(xhr); + ~~~ +!!! error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ dispatchEvent: unknown; onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; addEventListener: any; removeEventListener: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; }>'. +!!! error TS2345: The types of 'responseXML.body.shadowRoot.activeElement.assignedSlot.style.parentRule.parentStyleSheet.ownerNode' are incompatible between these types. +!!! error TS2345: Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRelevant: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly currentCSSZoom: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly ownerDocument: any; getElementById: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; dispatchEvent: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; } | { data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. +!!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRelevant: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly currentCSSZoom: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly ownerDocument: any; getElementById: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; dispatchEvent: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; } | { data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. + out2.responseXML + out2.responseXML.activeElement.className.length + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.js b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.js new file mode 100644 index 0000000000..a7fda27bc8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/mappedTypeRecursiveInference.ts] //// + +//// [mappedTypeRecursiveInference.ts] +interface A { a: A } +declare let a: A; +type Deep = { [K in keyof T]: Deep } +declare function foo(deep: Deep): T; +const out = foo(a); +out.a +out.a.a +out.a.a.a.a.a.a.a + + +interface B { [s: string]: B } +declare let b: B; +const oub = foo(b); +oub.b +oub.b.b +oub.b.a.n.a.n.a + +let xhr: XMLHttpRequest; +const out2 = foo(xhr); +out2.responseXML +out2.responseXML.activeElement.className.length + + +//// [mappedTypeRecursiveInference.js] +const out = foo(a); +out.a; +out.a.a; +out.a.a.a.a.a.a.a; +const oub = foo(b); +oub.b; +oub.b.b; +oub.b.a.n.a.n.a; +let xhr; +const out2 = foo(xhr); +out2.responseXML; +out2.responseXML.activeElement.className.length; diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.symbols b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.symbols new file mode 100644 index 0000000000..bdc57040df --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.symbols @@ -0,0 +1,112 @@ +//// [tests/cases/compiler/mappedTypeRecursiveInference.ts] //// + +=== mappedTypeRecursiveInference.ts === +interface A { a: A } +>A : Symbol(A, Decl(mappedTypeRecursiveInference.ts, 0, 0)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>A : Symbol(A, Decl(mappedTypeRecursiveInference.ts, 0, 0)) + +declare let a: A; +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 1, 11)) +>A : Symbol(A, Decl(mappedTypeRecursiveInference.ts, 0, 0)) + +type Deep = { [K in keyof T]: Deep } +>Deep : Symbol(Deep, Decl(mappedTypeRecursiveInference.ts, 1, 17)) +>T : Symbol(T, Decl(mappedTypeRecursiveInference.ts, 2, 10)) +>K : Symbol(K, Decl(mappedTypeRecursiveInference.ts, 2, 18)) +>T : Symbol(T, Decl(mappedTypeRecursiveInference.ts, 2, 10)) +>Deep : Symbol(Deep, Decl(mappedTypeRecursiveInference.ts, 1, 17)) +>T : Symbol(T, Decl(mappedTypeRecursiveInference.ts, 2, 10)) +>K : Symbol(K, Decl(mappedTypeRecursiveInference.ts, 2, 18)) + +declare function foo(deep: Deep): T; +>foo : Symbol(foo, Decl(mappedTypeRecursiveInference.ts, 2, 45)) +>T : Symbol(T, Decl(mappedTypeRecursiveInference.ts, 3, 21)) +>deep : Symbol(deep, Decl(mappedTypeRecursiveInference.ts, 3, 24)) +>Deep : Symbol(Deep, Decl(mappedTypeRecursiveInference.ts, 1, 17)) +>T : Symbol(T, Decl(mappedTypeRecursiveInference.ts, 3, 21)) +>T : Symbol(T, Decl(mappedTypeRecursiveInference.ts, 3, 21)) + +const out = foo(a); +>out : Symbol(out, Decl(mappedTypeRecursiveInference.ts, 4, 5)) +>foo : Symbol(foo, Decl(mappedTypeRecursiveInference.ts, 2, 45)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 1, 11)) + +out.a +>out.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out : Symbol(out, Decl(mappedTypeRecursiveInference.ts, 4, 5)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) + +out.a.a +>out.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out : Symbol(out, Decl(mappedTypeRecursiveInference.ts, 4, 5)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) + +out.a.a.a.a.a.a.a +>out.a.a.a.a.a.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a.a.a.a.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a.a.a.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a.a.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out.a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>out : Symbol(out, Decl(mappedTypeRecursiveInference.ts, 4, 5)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) +>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) + + +interface B { [s: string]: B } +>B : Symbol(B, Decl(mappedTypeRecursiveInference.ts, 7, 17)) +>s : Symbol(s, Decl(mappedTypeRecursiveInference.ts, 10, 15)) +>B : Symbol(B, Decl(mappedTypeRecursiveInference.ts, 7, 17)) + +declare let b: B; +>b : Symbol(b, Decl(mappedTypeRecursiveInference.ts, 11, 11)) +>B : Symbol(B, Decl(mappedTypeRecursiveInference.ts, 7, 17)) + +const oub = foo(b); +>oub : Symbol(oub, Decl(mappedTypeRecursiveInference.ts, 12, 5)) +>foo : Symbol(foo, Decl(mappedTypeRecursiveInference.ts, 2, 45)) +>b : Symbol(b, Decl(mappedTypeRecursiveInference.ts, 11, 11)) + +oub.b +>oub : Symbol(oub, Decl(mappedTypeRecursiveInference.ts, 12, 5)) + +oub.b.b +>oub : Symbol(oub, Decl(mappedTypeRecursiveInference.ts, 12, 5)) + +oub.b.a.n.a.n.a +>oub : Symbol(oub, Decl(mappedTypeRecursiveInference.ts, 12, 5)) + +let xhr: XMLHttpRequest; +>xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 3)) +>XMLHttpRequest : Symbol(XMLHttpRequest, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + +const out2 = foo(xhr); +>out2 : Symbol(out2, Decl(mappedTypeRecursiveInference.ts, 18, 5)) +>foo : Symbol(foo, Decl(mappedTypeRecursiveInference.ts, 2, 45)) +>xhr : Symbol(xhr, Decl(mappedTypeRecursiveInference.ts, 17, 3)) + +out2.responseXML +>out2.responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) +>out2 : Symbol(out2, Decl(mappedTypeRecursiveInference.ts, 18, 5)) +>responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) + +out2.responseXML.activeElement.className.length +>out2.responseXML.activeElement.className.length : Symbol(length, Decl(lib.es5.d.ts, --, --)) +>out2.responseXML.activeElement.className : Symbol(className, Decl(lib.dom.d.ts, --, --)) +>out2.responseXML.activeElement : Symbol(activeElement, Decl(lib.dom.d.ts, --, --)) +>out2.responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) +>out2 : Symbol(out2, Decl(mappedTypeRecursiveInference.ts, 18, 5)) +>responseXML : Symbol(responseXML, Decl(lib.dom.d.ts, --, --)) +>activeElement : Symbol(activeElement, Decl(lib.dom.d.ts, --, --)) +>className : Symbol(className, Decl(lib.dom.d.ts, --, --)) +>length : Symbol(length, Decl(lib.es5.d.ts, --, --)) + diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.symbols.diff b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.symbols.diff new file mode 100644 index 0000000000..3c2b02eaa0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.symbols.diff @@ -0,0 +1,11 @@ +--- old.mappedTypeRecursiveInference.symbols ++++ new.mappedTypeRecursiveInference.symbols +@@= skipped -2, +2 lines =@@ + === mappedTypeRecursiveInference.ts === + interface A { a: A } + >A : Symbol(A, Decl(mappedTypeRecursiveInference.ts, 0, 0)) +->a : Symbol(A.a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) ++>a : Symbol(a, Decl(mappedTypeRecursiveInference.ts, 0, 13)) + >A : Symbol(A, Decl(mappedTypeRecursiveInference.ts, 0, 0)) + + declare let a: A; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.types b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.types new file mode 100644 index 0000000000..48e0211a1e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/mappedTypeRecursiveInference.types @@ -0,0 +1,116 @@ +//// [tests/cases/compiler/mappedTypeRecursiveInference.ts] //// + +=== mappedTypeRecursiveInference.ts === +interface A { a: A } +>a : A + +declare let a: A; +>a : A + +type Deep = { [K in keyof T]: Deep } +>Deep : Deep + +declare function foo(deep: Deep): T; +>foo : (deep: Deep) => T +>deep : Deep + +const out = foo(a); +>out : { a: { a: any; }; } +>foo(a) : { a: { a: any; }; } +>foo : (deep: Deep) => T +>a : A + +out.a +>out.a : { a: { a: any; }; } +>out : { a: { a: any; }; } +>a : { a: { a: any; }; } + +out.a.a +>out.a.a : { a: { a: any; }; } +>out.a : { a: { a: any; }; } +>out : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } + +out.a.a.a.a.a.a.a +>out.a.a.a.a.a.a.a : { a: { a: any; }; } +>out.a.a.a.a.a.a : { a: { a: any; }; } +>out.a.a.a.a.a : { a: { a: any; }; } +>out.a.a.a.a : { a: { a: any; }; } +>out.a.a.a : { a: { a: any; }; } +>out.a.a : { a: { a: any; }; } +>out.a : { a: { a: any; }; } +>out : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } +>a : { a: { a: any; }; } + + +interface B { [s: string]: B } +>s : string + +declare let b: B; +>b : B + +const oub = foo(b); +>oub : { [x: string]: any; } +>foo(b) : { [x: string]: any; } +>foo : (deep: Deep) => T +>b : B + +oub.b +>oub.b : { [x: string]: any; } +>oub : { [x: string]: any; } +>b : { [x: string]: any; } + +oub.b.b +>oub.b.b : { [x: string]: any; } +>oub.b : { [x: string]: any; } +>oub : { [x: string]: any; } +>b : { [x: string]: any; } +>b : { [x: string]: any; } + +oub.b.a.n.a.n.a +>oub.b.a.n.a.n.a : { [x: string]: any; } +>oub.b.a.n.a.n : { [x: string]: any; } +>oub.b.a.n.a : { [x: string]: any; } +>oub.b.a.n : { [x: string]: any; } +>oub.b.a : { [x: string]: any; } +>oub.b : { [x: string]: any; } +>oub : { [x: string]: any; } +>b : { [x: string]: any; } +>a : { [x: string]: any; } +>n : { [x: string]: any; } +>a : { [x: string]: any; } +>n : { [x: string]: any; } +>a : { [x: string]: any; } + +let xhr: XMLHttpRequest; +>xhr : XMLHttpRequest + +const out2 = foo(xhr); +>out2 : { dispatchEvent: unknown; onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; addEventListener: any; removeEventListener: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; } +>foo(xhr) : { dispatchEvent: unknown; onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; addEventListener: any; removeEventListener: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; } +>foo : (deep: Deep) => T +>xhr : XMLHttpRequest + +out2.responseXML +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { readonly length: any; item: any; namedItem: any; }; readonly applets: { readonly length: any; item: any; namedItem: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; async: any; blocking: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; type: any; addEventListener: any; removeEventListener: any; readonly href: any; readonly assignedSlot: any; }; readonly defaultView: { NaN: any; Infinity: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioData: any; AudioDecoder: any; AudioDestinationNode: any; AudioEncoder: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNestedDeclarations: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; CSSViewTransitionRule: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; CaretPosition: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedAudioChunk: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; dispatchEvent: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; FragmentDirective: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; ImageDecoder: any; ImageTrack: any; ImageTrackList: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationActivation: any; NavigationHistoryEntry: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageRevealEvent: any; PageSwapEvent: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentAddress: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; ViewTransitionTypeSet: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; toString: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; readonly globalThis: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { after: any; before: any; remove: any; replaceWith: any; readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly documentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { readonly length: any; item: any; namedItem: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { readonly length: any; item: any; namedItem: any; }; readonly fragmentDirective: unknown; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly hidden: { valueOf: any; }; readonly images: { readonly length: any; item: any; namedItem: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { readonly length: any; item: any; namedItem: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { readonly length: any; item: any; namedItem: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly assignedSlot: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { readonly length: any; item: any; namedItem: any; }; readonly scrollingElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly activeElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; dispatchEvent: unknown; readonly fonts: { dispatchEvent: any; onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +>out2 : { dispatchEvent: unknown; onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; addEventListener: any; removeEventListener: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { readonly length: any; item: any; namedItem: any; }; readonly applets: { readonly length: any; item: any; namedItem: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; async: any; blocking: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; type: any; addEventListener: any; removeEventListener: any; readonly href: any; readonly assignedSlot: any; }; readonly defaultView: { NaN: any; Infinity: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioData: any; AudioDecoder: any; AudioDestinationNode: any; AudioEncoder: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNestedDeclarations: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; CSSViewTransitionRule: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; CaretPosition: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedAudioChunk: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; dispatchEvent: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; FragmentDirective: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; ImageDecoder: any; ImageTrack: any; ImageTrackList: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationActivation: any; NavigationHistoryEntry: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageRevealEvent: any; PageSwapEvent: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentAddress: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; ViewTransitionTypeSet: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; toString: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; readonly globalThis: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { after: any; before: any; remove: any; replaceWith: any; readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly documentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { readonly length: any; item: any; namedItem: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { readonly length: any; item: any; namedItem: any; }; readonly fragmentDirective: unknown; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly hidden: { valueOf: any; }; readonly images: { readonly length: any; item: any; namedItem: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { readonly length: any; item: any; namedItem: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { readonly length: any; item: any; namedItem: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly assignedSlot: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { readonly length: any; item: any; namedItem: any; }; readonly scrollingElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly activeElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; dispatchEvent: unknown; readonly fonts: { dispatchEvent: any; onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } + +out2.responseXML.activeElement.className.length +>out2.responseXML.activeElement.className.length : { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } +>out2.responseXML.activeElement.className : { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } +>out2.responseXML.activeElement : { ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRelevant: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly currentCSSZoom: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly ownerDocument: any; getElementById: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; dispatchEvent: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; } +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { readonly length: any; item: any; namedItem: any; }; readonly applets: { readonly length: any; item: any; namedItem: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; async: any; blocking: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; type: any; addEventListener: any; removeEventListener: any; readonly href: any; readonly assignedSlot: any; }; readonly defaultView: { NaN: any; Infinity: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioData: any; AudioDecoder: any; AudioDestinationNode: any; AudioEncoder: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNestedDeclarations: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; CSSViewTransitionRule: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; CaretPosition: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedAudioChunk: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; dispatchEvent: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; FragmentDirective: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; ImageDecoder: any; ImageTrack: any; ImageTrackList: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationActivation: any; NavigationHistoryEntry: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageRevealEvent: any; PageSwapEvent: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentAddress: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; ViewTransitionTypeSet: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; toString: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; readonly globalThis: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { after: any; before: any; remove: any; replaceWith: any; readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly documentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { readonly length: any; item: any; namedItem: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { readonly length: any; item: any; namedItem: any; }; readonly fragmentDirective: unknown; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly hidden: { valueOf: any; }; readonly images: { readonly length: any; item: any; namedItem: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { readonly length: any; item: any; namedItem: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { readonly length: any; item: any; namedItem: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly assignedSlot: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { readonly length: any; item: any; namedItem: any; }; readonly scrollingElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly activeElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; dispatchEvent: unknown; readonly fonts: { dispatchEvent: any; onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +>out2 : { dispatchEvent: unknown; onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { dispatchEvent: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; addEventListener: any; removeEventListener: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; } +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { readonly length: any; item: any; namedItem: any; }; readonly applets: { readonly length: any; item: any; namedItem: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; async: any; blocking: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; type: any; addEventListener: any; removeEventListener: any; readonly href: any; readonly assignedSlot: any; }; readonly defaultView: { NaN: any; Infinity: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioData: any; AudioDecoder: any; AudioDestinationNode: any; AudioEncoder: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNestedDeclarations: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; CSSViewTransitionRule: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; CaretPosition: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedAudioChunk: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; dispatchEvent: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; FragmentDirective: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; ImageDecoder: any; ImageTrack: any; ImageTrackList: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationActivation: any; NavigationHistoryEntry: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageRevealEvent: any; PageSwapEvent: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentAddress: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; ViewTransitionTypeSet: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; toString: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; readonly globalThis: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { after: any; before: any; remove: any; replaceWith: any; readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly documentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { readonly length: any; item: any; namedItem: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { readonly length: any; item: any; namedItem: any; }; readonly fragmentDirective: unknown; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly hidden: { valueOf: any; }; readonly images: { readonly length: any; item: any; namedItem: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { readonly length: any; item: any; namedItem: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { readonly length: any; item: any; namedItem: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly preserveAspectRatio: any; readonly viewBox: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly assignedSlot: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpagereveal: any; onpageshow: any; onpageswap: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { readonly length: any; item: any; namedItem: any; }; readonly scrollingElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretPositionFromPoint: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly activeElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; dispatchEvent: unknown; readonly fonts: { dispatchEvent: any; onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +>activeElement : { ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRelevant: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndexText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly currentCSSZoom: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fragmentDirective: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretPositionFromPoint: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly ownerDocument: any; getElementById: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; dispatchEvent: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { readonly length: any; item: any; forEach: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly parentNode: { addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly nextElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { readonly length: any; item: any; namedItem: any; }; readonly firstElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRelevant: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowIndexText: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly attributes: any; classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; readonly currentCSSZoom: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly attributeStyleMap: any; style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; dispatchEvent: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; writingSuggestions: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; } +>className : { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } +>length : { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } + diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.js b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js new file mode 100644 index 0000000000..bd958b8391 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js @@ -0,0 +1,232 @@ +//// [tests/cases/compiler/modulePreserve4.ts] //// + +//// [a.js] +export const x = 0; +module.exports.y = 0; // Error + +//// [b.ts] +export default 0; + +//// [c.ts] +export = { + default: function() {} +}; + +//// [d.ts] +export = function() {}; + +//// [e.mts] +export = 0; + +//// [f.cts] +export default 0; + +//// [g.js] +exports.default = 0; + +//// [main1.ts] +import { x, y } from "./a"; // No y +import a1 = require("./a"); // { x: 0 } +const a2 = require("./a"); // Error in TS +const a3 = await import("./a"); // { x: 0 } +a3.x; + +import b1 from "./b"; // 0 +import b2 = require("./b"); // { default: 0 } +b2.default; +const b3 = await import("./b"); // { default: 0 } +b3.default; + +import c1 from "./c"; // { default: [Function: default] } +import c2 = require("./c"); // { default: [Function: default] } +c2.default; +import d1 from "./d"; // [Function: default] +import d2 = require("./d"); // [Function: default] +d2(); +d2.default(); // Error +const d3 = await import("./d"); // { default: [Function: default] } +d3.default(); + +import e1 from "./e.mjs"; // 0 +import e2 = require("./e.mjs"); // 0 +import f1 from "./f.cjs"; // 0 +import f2 = require("./f.cjs"); // { default: 0 } +f2.default; + +import g1 from "./g"; // { default: 0 } +g1.default; +import g2 = require("./g"); // { default: 0 } +g2.default; + +//// [main2.mts] +import { x, y } from "./a"; // No y +import a1 = require("./a"); // { x: 0 } +a1.x; +a1.default.x; // Arguably should exist but doesn't +const a2 = require("./a"); // Error in TS + +import b1 from "./b"; // 0 +import b2 = require("./b"); // { default: 0 } + +import c1 from "./c"; // { default: [Function: default] } +import c2 = require("./c"); // { default: [Function: default] } +import d1 from "./d"; // [Function: default] +import d2 = require("./d"); // [Function: default] +import e1 from "./e.mjs"; // 0 +import e2 = require("./e.mjs"); // 0 +import f1 from "./f.cjs"; // 0 +import f2 = require("./f.cjs"); // { default: 0 } + +import g1 from "./g"; // { default: 0 } +import g2 = require("./g"); // { default: 0 } + +//// [main3.cjs] +import { x, y } from "./a"; // No y +import a1 = require("./a"); // Error in JS +const a2 = require("./a"); // { x: 0 } + +import b1 from "./b"; // 0 +const b2 = require("./b"); // { default: 0 } + +import c1 from "./c"; // { default: [Function: default] } +const c2 = require("./c"); // { default: [Function: default] } +import d1 from "./d"; // [Function: default] +const d2 = require("./d"); // [Function: default] +import e1 from "./e.mjs"; // 0 +const e2 = require("./e.mjs"); // 0 +import f1 from "./f.cjs"; // 0 +const f2 = require("./f.cjs"); // { default: 0 } + +import g1 from "./g"; // { default: 0 } +const g2 = require("./g"); // { default: 0 } + +//// [main4.cjs] +exports.x = require("./g"); + +//// [dummy.ts] +export {}; // Silly test harness + + +//// [a.js] +export const x = 0; +export var y = 0; +module.exports.y = 0; // Error +//// [b.js] +export default 0; +//// [c.js] +module.exports = { + default: function () { } +}; +//// [d.js] +module.exports = function () { }; +//// [e.mjs] +module.exports = 0; +//// [f.cjs] +export default 0; +//// [g.js] +export var default = 0; +exports.default = 0; +//// [main1.js] +import { x, y } from "./a"; // No y +const a1 = require("./a"); // { x: 0 } +const a2 = require("./a"); // Error in TS +const a3 = await import("./a"); // { x: 0 } +a3.x; +import b1 from "./b"; // 0 +const b2 = require("./b"); // { default: 0 } +b2.default; +const b3 = await import("./b"); // { default: 0 } +b3.default; +import c1 from "./c"; // { default: [Function: default] } +const c2 = require("./c"); // { default: [Function: default] } +c2.default; +import d1 from "./d"; // [Function: default] +const d2 = require("./d"); // [Function: default] +d2(); +d2.default(); // Error +const d3 = await import("./d"); // { default: [Function: default] } +d3.default(); +import e1 from "./e.mjs"; // 0 +const e2 = require("./e.mjs"); // 0 +import f1 from "./f.cjs"; // 0 +const f2 = require("./f.cjs"); // { default: 0 } +f2.default; +import g1 from "./g"; // { default: 0 } +g1.default; +const g2 = require("./g"); // { default: 0 } +g2.default; +//// [main2.mjs] +import { x, y } from "./a"; // No y +const a1 = require("./a"); // { x: 0 } +a1.x; +a1.default.x; // Arguably should exist but doesn't +const a2 = require("./a"); // Error in TS +import b1 from "./b"; // 0 +const b2 = require("./b"); // { default: 0 } +import c1 from "./c"; // { default: [Function: default] } +const c2 = require("./c"); // { default: [Function: default] } +import d1 from "./d"; // [Function: default] +const d2 = require("./d"); // [Function: default] +import e1 from "./e.mjs"; // 0 +const e2 = require("./e.mjs"); // 0 +import f1 from "./f.cjs"; // 0 +const f2 = require("./f.cjs"); // { default: 0 } +import g1 from "./g"; // { default: 0 } +const g2 = require("./g"); // { default: 0 } +//// [main3.cjs] +import { x, y } from "./a"; // No y +const a1 = require("./a"); // Error in JS +const a2 = require("./a"); // { x: 0 } +import b1 from "./b"; // 0 +const b2 = require("./b"); // { default: 0 } +import c1 from "./c"; // { default: [Function: default] } +const c2 = require("./c"); // { default: [Function: default] } +import d1 from "./d"; // [Function: default] +const d2 = require("./d"); // [Function: default] +import e1 from "./e.mjs"; // 0 +const e2 = require("./e.mjs"); // 0 +import f1 from "./f.cjs"; // 0 +const f2 = require("./f.cjs"); // { default: 0 } +import g1 from "./g"; // { default: 0 } +const g2 = require("./g"); // { default: 0 } +//// [main4.cjs] +export var x = require("./g"); +exports.x = require("./g"); +//// [dummy.js] +export {}; // Silly test harness + + +//// [a.d.ts] +export declare const x = 0; +export var y = 0; +//// [b.d.ts] +declare const _default: number; +export default _default; +//// [c.d.ts] +declare const _default: { + default: () => void; +}; +export = _default; +//// [d.d.ts] +declare const _default: () => void; +export = _default; +//// [e.d.mts] +declare const _default: number; +export = _default; +//// [f.d.cts] +declare const _default: number; +export default _default; +//// [g.d.ts] +export var default = 0; +export {}; +//// [main1.d.ts] +export {}; +//// [main2.d.mts] +export {}; +//// [main3.d.cts] +export {}; +//// [main4.d.cts] +export var x = require("./g"); +export {}; +//// [dummy.d.ts] +export {}; // Silly test harness diff --git a/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff new file mode 100644 index 0000000000..eba7308563 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/modulePreserve4.js.diff @@ -0,0 +1,68 @@ +--- old.modulePreserve4.js ++++ new.modulePreserve4.js +@@= skipped -108, +108 lines =@@ + + //// [a.js] + export const x = 0; ++export var y = 0; + module.exports.y = 0; // Error + //// [b.js] + export default 0; +@@= skipped -14, +15 lines =@@ + //// [f.cjs] + export default 0; + //// [g.js] +-"use strict"; ++export var default = 0; + exports.default = 0; + //// [main1.js] + import { x, y } from "./a"; // No y +@@= skipped -66, +66 lines =@@ + import g1 from "./g"; // { default: 0 } + const g2 = require("./g"); // { default: 0 } + //// [main4.cjs] ++export var x = require("./g"); + exports.x = require("./g"); + //// [dummy.js] + export {}; // Silly test harness + + + //// [a.d.ts] +-export const x: 0; ++export declare const x = 0; ++export var y = 0; + //// [b.d.ts] +-declare const _default: 0; ++declare const _default: number; + export default _default; + //// [c.d.ts] + declare const _default: { +@@= skipped -19, +21 lines =@@ + declare const _default: () => void; + export = _default; + //// [e.d.mts] +-declare const _default: 0; ++declare const _default: number; + export = _default; + //// [f.d.cts] +-declare const _default: 0; ++declare const _default: number; + export default _default; + //// [g.d.ts] +-declare const _default: 0; +-export default _default; ++export var default = 0; ++export {}; + //// [main1.d.ts] + export {}; + //// [main2.d.mts] +@@= skipped -15, +15 lines =@@ + //// [main3.d.cts] + export {}; + //// [main4.d.cts] +-export const x: typeof import("./g"); ++export var x = require("./g"); ++export {}; + //// [dummy.d.ts] +-export {}; ++export {}; // Silly test harness \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithExtensions_notSupported2.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithExtensions_notSupported2.js new file mode 100644 index 0000000000..df9c726924 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithExtensions_notSupported2.js @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/moduleResolutionWithExtensions_notSupported2.ts] //// + +//// [jsx.jsx] + +//// [a.ts] +import jsx from "./jsx"; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModule.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModule.js new file mode 100644 index 0000000000..941ca24626 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModule.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/moduleResolutionWithSuffixes_one_externalModule.ts] //// + +//// [index.ios.js] +"use strict"; +exports.__esModule = true; +function ios() {} +exports.ios = ios; +//// [index.ios.d.ts] +export declare function ios(): void; +//// [index.js] +"use strict"; +exports.__esModule = true; +function base() {} +exports.base = base; +//// [index.d.ts] +export declare function base(): void; + +//// [index.ts] +import { ios } from "some-library"; + + +//// [/bin/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModulePath.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModulePath.js new file mode 100644 index 0000000000..d3f78b40b3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModulePath.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/moduleResolutionWithSuffixes_one_externalModulePath.ts] //// + +//// [foo.ios.js] +"use strict"; +exports.__esModule = true; +function iosfoo() {} +exports.iosfoo = iosfoo; +//// [foo.ios.d.ts] +export declare function iosfoo(): void; +//// [foo.js] +"use strict"; +exports.__esModule = true; +function basefoo() {} +exports.basefoo = basefoo; +//// [foo.d.ts] +export declare function basefoo(): void; + +//// [index.ts] +import { iosfoo } from "some-library/foo"; + + +//// [/bin/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModule_withPaths.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModule_withPaths.js new file mode 100644 index 0000000000..afa58b8bd3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_externalModule_withPaths.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/moduleResolutionWithSuffixes_one_externalModule_withPaths.ts] //// + +//// [index.ios.js] +"use strict"; +exports.__esModule = true; +function ios() {} +exports.ios = ios; +//// [index.ios.d.ts] +export declare function ios(): void; +//// [index.js] +"use strict"; +exports.__esModule = true; +function base() {} +exports.base = base; +//// [index.d.ts] +export declare function base(): void; + +//// [test.ts] +import { ios } from "some-library"; +import { ios as ios2 } from "some-library/index"; +import { ios as ios3 } from "some-library/index.js"; + + +//// [/bin/test.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsModule.js b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsModule.js new file mode 100644 index 0000000000..654acf2465 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsModule.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/moduleResolutionWithSuffixes_one_jsModule.ts] //// + +//// [index.ts] +import { ios } from "./foo.js"; +//// [foo.ios.js] +"use strict"; +exports.__esModule = true; +function ios() {} +exports.ios = ios; +//// [foo.js] +"use strict"; +exports.__esModule = true; +function base() {} +exports.base = base; + + +//// [/bin/foo.ios.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var __esModule = true; +exports.__esModule = true; +function ios() { } +export var ios = ios; +exports.ios = ios; +//// [/bin/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [/bin/foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var __esModule = true; +exports.__esModule = true; +function base() { } +export var base = base; +exports.base = base; diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsModule.js.diff b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsModule.js.diff new file mode 100644 index 0000000000..3a918de7c9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolutionWithSuffixes_one_jsModule.js.diff @@ -0,0 +1,23 @@ +--- old.moduleResolutionWithSuffixes_one_jsModule.js ++++ new.moduleResolutionWithSuffixes_one_jsModule.js +@@= skipped -15, +15 lines =@@ + + //// [/bin/foo.ios.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var __esModule = true; + exports.__esModule = true; + function ios() { } ++export var ios = ios; + exports.ios = ios; + //// [/bin/index.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + //// [/bin/foo.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var __esModule = true; + exports.__esModule = true; + function base() { } ++export var base = base; + exports.base = base; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolution_explicitNodeModulesImport.js b/testdata/baselines/reference/submodule/compiler/moduleResolution_explicitNodeModulesImport.js new file mode 100644 index 0000000000..05778dcd57 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolution_explicitNodeModulesImport.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/moduleResolution_explicitNodeModulesImport.ts] //// + +//// [index.js] +exports.x = 0; + +//// [index.ts] +import { x } from "../node_modules/foo"; + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/moduleResolution_explicitNodeModulesImport_implicitAny.js b/testdata/baselines/reference/submodule/compiler/moduleResolution_explicitNodeModulesImport_implicitAny.js new file mode 100644 index 0000000000..ef451aa341 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/moduleResolution_explicitNodeModulesImport_implicitAny.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/moduleResolution_explicitNodeModulesImport_implicitAny.ts] //// + +//// [index.js] +exports.x = 0; + +//// [index.ts] +import { y } from "../node_modules/foo"; + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/narrowingPlainJsNoCrash1.js b/testdata/baselines/reference/submodule/compiler/narrowingPlainJsNoCrash1.js new file mode 100644 index 0000000000..f83a5c5c01 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/narrowingPlainJsNoCrash1.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/narrowingPlainJsNoCrash1.ts] //// + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/59594 + +var a$b = {}; +var c, d; +d = a$b; +while (d !== a$b); +while ((c = a$b != a$b)) c.e; + + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/59594 +var a$b = {}; +var c, d; +d = a$b; +while (d !== a$b) + ; +while ((c = a$b != a$b)) + c.e; diff --git a/testdata/baselines/reference/submodule/compiler/noCrashOnParameterNamedRequire.js b/testdata/baselines/reference/submodule/compiler/noCrashOnParameterNamedRequire.js new file mode 100644 index 0000000000..f86cea73d0 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/noCrashOnParameterNamedRequire.js @@ -0,0 +1,13 @@ +//// [tests/cases/compiler/noCrashOnParameterNamedRequire.ts] //// + +//// [index.js] +(function(require, module, exports){ + const mod = require("./mod"); + mod.foo; +})(null, null, null); + +//// [index.js] +(function (require, module, exports) { + const mod = require("./mod"); + mod.foo; +})(null, null, null); diff --git a/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash1.js b/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash1.js new file mode 100644 index 0000000000..21d8bda92c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash1.js @@ -0,0 +1,9 @@ +//// [tests/cases/compiler/parseJsxElementInUnaryExpressionNoCrash1.ts] //// + +//// [a.js] +~< < + + +//// [a.js] +~< /> < +; diff --git a/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash2.js b/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash2.js new file mode 100644 index 0000000000..4fdcf29d85 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash2.js @@ -0,0 +1,9 @@ +//// [tests/cases/compiler/parseJsxElementInUnaryExpressionNoCrash2.ts] //// + +//// [a.js] +~<> < + + +//// [a.js] +~<> < +; diff --git a/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash3.js b/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash3.js new file mode 100644 index 0000000000..4c36c8ba17 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/parseJsxElementInUnaryExpressionNoCrash3.js @@ -0,0 +1,11 @@ +//// [tests/cases/compiler/parseJsxElementInUnaryExpressionNoCrash3.ts] //// + +//// [a.js] +!< {:> + + + +//// [a.js] +!< {...}> + +; diff --git a/testdata/baselines/reference/submodule/compiler/parserUnparsedTokenCrash1.js b/testdata/baselines/reference/submodule/compiler/parserUnparsedTokenCrash1.js new file mode 100644 index 0000000000..710a2126e3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/parserUnparsedTokenCrash1.js @@ -0,0 +1,9 @@ +//// [tests/cases/compiler/parserUnparsedTokenCrash1.ts] //// + +//// [a.js] +( y = 1 ; 2 ) + + +//// [a.js] +(y = 1); +2; diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.js new file mode 100644 index 0000000000..5d30186345 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo } from "/foo"; +import { bar } from "/bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.js new file mode 100644 index 0000000000..3a328d664b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.js @@ -0,0 +1,42 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_differentRootTypes.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo as foo1 } from "/foo"; +import { bar as bar1 } from "/bar"; +import { foo as foo2 } from "c:/foo"; +import { bar as bar2 } from "c:/bar"; +import { foo as foo3 } from "c:\\foo"; +import { bar as bar3 } from "c:\\bar"; +import { foo as foo4 } from "//server/foo"; +import { bar as bar4 } from "//server/bar"; +import { foo as foo5 } from "\\\\server\\foo"; +import { bar as bar5 } from "\\\\server\\bar"; +import { foo as foo6 } from "file:///foo"; +import { bar as bar6 } from "file:///bar"; +import { foo as foo7 } from "file://c:/foo"; +import { bar as bar7 } from "file://c:/bar"; +import { foo as foo8 } from "file://server/foo"; +import { bar as bar8 } from "file://server/bar"; +import { foo as foo9 } from "http://server/foo"; +import { bar as bar9 } from "http://server/bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_multipleAliases.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_multipleAliases.js new file mode 100644 index 0000000000..1e82815314 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_multipleAliases.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_multipleAliases.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo } from "/import/foo"; +import { bar } from "/client/bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_realRootFile.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_realRootFile.js new file mode 100644 index 0000000000..194e02979d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_realRootFile.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_aliasWithRoot_realRootFile.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo } from "/foo"; +import { bar } from "/bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot.js new file mode 100644 index 0000000000..aa1d13db71 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo } from "/foo"; +import { bar } from "/bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot_realRootFile.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot_realRootFile.js new file mode 100644 index 0000000000..27ea060dd7 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot_realRootFile.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_rootImport_noAliasWithRoot_realRootFile.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo } from "/foo"; +import { bar } from "/bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_withExtension.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_withExtension.js new file mode 100644 index 0000000000..bf7852b116 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_withExtension.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_withExtension.ts] //// + +//// [foo.ts] +export function foo() {} + +//// [bar.js] +export function bar() {} + +//// [a.ts] +import { foo } from "foo"; +import { bar } from "bar"; + + +//// [foo.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.foo = foo; +function foo() { } +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.bar = bar; +function bar() { } +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_withExtension_MapedToNodeModules.js b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_withExtension_MapedToNodeModules.js new file mode 100644 index 0000000000..520f8bf8d8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/pathMappingBasedModuleResolution_withExtension_MapedToNodeModules.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/pathMappingBasedModuleResolution_withExtension_MapedToNodeModules.ts] //// + +//// [foobar.js] +module.exports = { a: 10 }; + +//// [a.ts] +import foobar from "foo/bar/foobar.js"; + + +//// [/bin/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/reactImportDropped.js b/testdata/baselines/reference/submodule/compiler/reactImportDropped.js new file mode 100644 index 0000000000..53ff422fa6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/reactImportDropped.js @@ -0,0 +1,47 @@ +//// [tests/cases/compiler/reactImportDropped.ts] //// + +//// [react.d.ts] +export = React; +export as namespace React; + +declare namespace React { + + function createClass(spec: any): ClassicComponentClass; + + interface ClassicComponentClass { + new (props?: any): ClassicComponentClass; + } +} + +declare global { + namespace JSX { + interface ElementAttributesProperty { } + } +} + + +//// [TabBar.js] +export default React.createClass({ + render() { + return ( + null + ); + } +}); + +//// [NavigationView.js] +import TabBar from '../../components/TabBar'; +import {layout} from '../../utils/theme'; // <- DO NOT DROP this import +const x = ; + + +//// [TabBar.js] +export default React.createClass({ + render() { + return (null); + } +}); +//// [NavigationView.js] +import TabBar from '../../components/TabBar'; +import { layout } from '../../utils/theme'; // <- DO NOT DROP this import +const x = React.createElement(TabBar, { height: layout.footerHeight }); diff --git a/testdata/baselines/reference/submodule/compiler/requireAsFunctionInExternalModule.js b/testdata/baselines/reference/submodule/compiler/requireAsFunctionInExternalModule.js new file mode 100644 index 0000000000..268febfd36 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireAsFunctionInExternalModule.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/requireAsFunctionInExternalModule.ts] //// + +//// [c.js] +export default function require(a) { } +export function has(a) { return true } + +//// [m.js] +import require, { has } from "./c" +export function hello() { } +if (has('ember-debug')) { + require('ember-debug'); +} + +//// [m2.ts] +import { hello } from "./m"; +hello(); + + +//// [c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = require; +exports.has = has; +function require(a) { } +function has(a) { return true; } +//// [m.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hello = hello; +const c_1 = require("./c"); +function hello() { } +if ((0, c_1.has)('ember-debug')) { + (0, c_1.default)('ember-debug'); +} +//// [m2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const m_1 = require("./m"); +(0, m_1.hello)(); diff --git a/testdata/baselines/reference/submodule/compiler/requireAsFunctionInExternalModule.js.diff b/testdata/baselines/reference/submodule/compiler/requireAsFunctionInExternalModule.js.diff new file mode 100644 index 0000000000..93d1ef728f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireAsFunctionInExternalModule.js.diff @@ -0,0 +1,18 @@ +--- old.requireAsFunctionInExternalModule.js ++++ new.requireAsFunctionInExternalModule.js +@@= skipped -26, +26 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.hello = hello; +-var c_1 = require("./c"); ++const c_1 = require("./c"); + function hello() { } + if ((0, c_1.has)('ember-debug')) { + (0, c_1.default)('ember-debug'); +@@= skipped -8, +8 lines =@@ + //// [m2.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var m_1 = require("./m"); ++const m_1 = require("./m"); + (0, m_1.hello)(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js new file mode 100644 index 0000000000..6150d5a791 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/requireOfJsonFile.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff new file mode 100644 index 0000000000..e5933c989d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile.js.diff @@ -0,0 +1,22 @@ +--- old.requireOfJsonFile.js ++++ new.requireOfJsonFile.js +@@= skipped -14, +14 lines =@@ + "b": "hello" + } + +-//// [out/b.json] +-{ +- "a": true, +- "b": "hello" +-} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelative.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelative.js new file mode 100644 index 0000000000..a293441e5a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelative.js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/requireOfJsonFileNonRelative.ts] //// + +//// [file1.ts] +import b1 = require('b.json'); +let x = b1.a; +import b2 = require('c.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [c.json] +{ + "a": true, + "b": "hello" +} + + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("b.json"); +let x = b1.a; +const b2 = require("c.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelative.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelative.js.diff new file mode 100644 index 0000000000..490255b5bd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelative.js.diff @@ -0,0 +1,14 @@ +--- old.requireOfJsonFileNonRelative.js ++++ new.requireOfJsonFileNonRelative.js +@@= skipped -24, +24 lines =@@ + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("b.json"); ++const b1 = require("b.json"); + let x = b1.a; +-var b2 = require("c.json"); ++const b2 = require("c.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtension.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtension.js new file mode 100644 index 0000000000..1092bd8955 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtension.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/requireOfJsonFileNonRelativeWithoutExtension.ts] //// + +//// [file1.ts] +import d = require("d.json"); // Should fail +import e = require("e"); // Should fail + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [e.json] +{ + "a": true, + "b": "hello" +} + +//// [c.json] +{ + "a": true, + "b": "hello" +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js new file mode 100644 index 0000000000..a6256ccc6b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.ts] //// + +//// [file1.ts] +import f = require("f"); // should work to f.ts +let fnumber: number = f; + +//// [f.json] +{ + "a": true, + "b": "hello" +} + +//// [f.ts] +export = 10; + + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const f = require("f"); // should work to f.ts +let fnumber = f; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js.diff new file mode 100644 index 0000000000..d909de317c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js.diff @@ -0,0 +1,16 @@ +--- old.requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js ++++ new.requireOfJsonFileNonRelativeWithoutExtensionResolvesToTs.js +@@= skipped -13, +13 lines =@@ + export = 10; + + +-//// [out/node_modules/f.js] +-"use strict"; +-module.exports = 10; +-//// [out/projects/file1.js] ++//// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var f = require("f"); // should work to f.ts ++const f = require("f"); // should work to f.ts + let fnumber = f; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js new file mode 100644 index 0000000000..492f338fc4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js @@ -0,0 +1,72 @@ +//// [tests/cases/compiler/requireOfJsonFileTypes.ts] //// + +//// [file1.ts] +import b = require('./b.json'); +import c = require('./c.json'); +import d = require('./d.json'); +import e = require('./e.json'); +import f = require('./f.json'); +import g = require('./g.json'); + +let booleanLiteral: boolean, nullLiteral: null; +let stringLiteral: string; +let numberLiteral: number; + +booleanLiteral = b.a; +stringLiteral = b.b; +nullLiteral = b.c; +booleanLiteral = b.d; +const stringOrNumberOrNull: string | number | null = c[0]; +stringLiteral = d; +numberLiteral = e; +numberLiteral = f[0]; +booleanLiteral = g[0]; + +//// [b.json] +{ + "a": true, + "b": "hello", + "c": null, + "d": false +} + +//// [c.json] +["a", null, "string"] + +//// [d.json] +"dConfig" + +//// [e.json] +-10 + +//// [f.json] +[-10, 30] + +//// [g.json] +[true, false] + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b = require("./b.json"); +const c = require("./c.json"); +const d = require("./d.json"); +const e = require("./e.json"); +const f = require("./f.json"); +const g = require("./g.json"); +let booleanLiteral, nullLiteral; +let stringLiteral; +let numberLiteral; +booleanLiteral = b.a; +stringLiteral = b.b; +nullLiteral = b.c; +booleanLiteral = b.d; +const stringOrNumberOrNull = c[0]; +stringLiteral = d; +numberLiteral = e; +numberLiteral = f[0]; +booleanLiteral = g[0]; + + +//// [out/file1.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff new file mode 100644 index 0000000000..e29d374bad --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileTypes.js.diff @@ -0,0 +1,41 @@ +--- old.requireOfJsonFileTypes.js ++++ new.requireOfJsonFileTypes.js +@@= skipped -44, +44 lines =@@ + //// [g.json] + [true, false] + +-//// [out/b.json] +-{ +- "a": true, +- "b": "hello", +- "c": null, +- "d": false +-} +-//// [out/c.json] +-["a", null, "string"] +-//// [out/d.json] +-"dConfig" +-//// [out/e.json] +--10 +-//// [out/f.json] +-[-10, 30] +-//// [out/g.json] +-[true, false] + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b = require("./b.json"); +-var c = require("./c.json"); +-var d = require("./d.json"); +-var e = require("./e.json"); +-var f = require("./f.json"); +-var g = require("./g.json"); ++const b = require("./b.json"); ++const c = require("./c.json"); ++const d = require("./d.json"); ++const e = require("./e.json"); ++const f = require("./f.json"); ++const g = require("./g.json"); + let booleanLiteral, nullLiteral; + let stringLiteral; + let numberLiteral; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js new file mode 100644 index 0000000000..e053f51daf --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/requireOfJsonFileWithAmd.ts] //// + +//// [file1.ts] +import b1 = require('./b'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff new file mode 100644 index 0000000000..c62a38a5de --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithAmd.js.diff @@ -0,0 +1,30 @@ +--- old.requireOfJsonFileWithAmd.js ++++ new.requireOfJsonFileWithAmd.js +@@= skipped -14, +14 lines =@@ + "b": "hello" + } + +-//// [out/b.json] +-{ +- "a": true, +- "b": "hello" +-} + //// [out/file1.js] +-define(["require", "exports", "./b", "./b.json"], function (require, exports, b1, b2) { +- "use strict"; +- Object.defineProperty(exports, "__esModule", { value: true }); +- let x = b1.a; +- if (x) { +- let b = b2.b; +- x = (b1.b === b); +- } +-}); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++const b1 = require("./b"); ++let x = b1.a; ++const b2 = require("./b.json"); ++if (x) { ++ let b = b2.b; ++ x = (b1.b === b); ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js new file mode 100644 index 0000000000..cac6e3862e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/requireOfJsonFileWithEmptyObject.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1; +import b2 = require('./b.json'); +if (x) { + x = b2; +} + +//// [b.json] +{ +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1; +const b2 = require("./b.json"); +if (x) { + x = b2; +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff new file mode 100644 index 0000000000..4cfc8325b6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObject.js.diff @@ -0,0 +1,19 @@ +--- old.requireOfJsonFileWithEmptyObject.js ++++ new.requireOfJsonFileWithEmptyObject.js +@@= skipped -11, +11 lines =@@ + { + } + +-//// [out/b.json] +-{} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + x = b2; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js new file mode 100644 index 0000000000..4d992bbfde --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/requireOfJsonFileWithEmptyObjectWithErrors.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff new file mode 100644 index 0000000000..7793e904dd --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithEmptyObjectWithErrors.js.diff @@ -0,0 +1,19 @@ +--- old.requireOfJsonFileWithEmptyObjectWithErrors.js ++++ new.requireOfJsonFileWithEmptyObjectWithErrors.js +@@= skipped -12, +12 lines =@@ + { + } + +-//// [out/b.json] +-{} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js new file mode 100644 index 0000000000..9dffbcbd1c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/requireOfJsonFileWithErrors.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + 'a': true, + "b": "hello" +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff new file mode 100644 index 0000000000..e0589f9ba3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithErrors.js.diff @@ -0,0 +1,22 @@ +--- old.requireOfJsonFileWithErrors.js ++++ new.requireOfJsonFileWithErrors.js +@@= skipped -14, +14 lines =@@ + "b": "hello" + } + +-//// [out/b.json] +-{ +- 'a': true, +- "b": "hello" +-} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js new file mode 100644 index 0000000000..719ee0b40c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/requireOfJsonFileWithNoContent.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] + + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff new file mode 100644 index 0000000000..63396fbcb4 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithNoContent.js.diff @@ -0,0 +1,18 @@ +--- old.requireOfJsonFileWithNoContent.js ++++ new.requireOfJsonFileWithNoContent.js +@@= skipped -11, +11 lines =@@ + //// [b.json] + + +-//// [out/b.json] + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js new file mode 100644 index 0000000000..6558b86562 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js @@ -0,0 +1,28 @@ +//// [tests/cases/compiler/requireOfJsonFileWithSourceMap.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} +//# sourceMappingURL=file1.js.map \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff new file mode 100644 index 0000000000..a94fac3f62 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithSourceMap.js.diff @@ -0,0 +1,22 @@ +--- old.requireOfJsonFileWithSourceMap.js ++++ new.requireOfJsonFileWithSourceMap.js +@@= skipped -14, +14 lines =@@ + "b": "hello" + } + +-//// [out/b.json] +-{ +- "a": true, +- "b": "hello" +-} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js new file mode 100644 index 0000000000..fa92110dda --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/requireOfJsonFileWithTraillingComma.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello", +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff new file mode 100644 index 0000000000..8f82ca06a5 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithTraillingComma.js.diff @@ -0,0 +1,22 @@ +--- old.requireOfJsonFileWithTraillingComma.js ++++ new.requireOfJsonFileWithTraillingComma.js +@@= skipped -14, +14 lines =@@ + "b": "hello", + } + +-//// [out/b.json] +-{ +- "a": true, +- "b": "hello" +-} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); ++const b1 = require("./b.json"); + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js new file mode 100644 index 0000000000..9666a920b9 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/requireOfJsonFileWithoutExtension.ts] //// + +//// [file1.ts] +import b1 = require('./b'); // This should not resolve +let x = b1.a; +import b2 = require('./b.json'); +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b"); // This should not resolve +let x = b1.a; +const b2 = require("./b.json"); +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff new file mode 100644 index 0000000000..6dd37976ab --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtension.js.diff @@ -0,0 +1,22 @@ +--- old.requireOfJsonFileWithoutExtension.js ++++ new.requireOfJsonFileWithoutExtension.js +@@= skipped -14, +14 lines =@@ + "b": "hello" + } + +-//// [out/b.json] +-{ +- "a": true, +- "b": "hello" +-} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b"); // This should not resolve ++const b1 = require("./b"); // This should not resolve + let x = b1.a; +-var b2 = require("./b.json"); ++const b2 = require("./b.json"); + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js new file mode 100644 index 0000000000..f3bda962af --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.ts] //// + +//// [file1.ts] +import c1 = require('./c'); // resolves to c.ts +let x2 = c1.a; +import c2 = require('./c.json'); // resolves to c.json +if (x2) { + let b = c2.b; + let x = (c1.b === b); +} + +//// [b.json] +{ + "a": true, + "b": "hello" +} + +//// [c.json] +{ + "a": true, + "b": "hello" +} + +//// [c.ts] +export = { a: true, b: "hello" }; + +//// [out/c.js] +"use strict"; +module.exports = { a: true, b: "hello" }; +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const c1 = require("./c"); // resolves to c.ts +let x2 = c1.a; +const c2 = require("./c.json"); // resolves to c.json +if (x2) { + let b = c2.b; + let x = (c1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff new file mode 100644 index 0000000000..87c8912fae --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutExtensionResolvesToTs.js.diff @@ -0,0 +1,22 @@ +--- old.requireOfJsonFileWithoutExtensionResolvesToTs.js ++++ new.requireOfJsonFileWithoutExtensionResolvesToTs.js +@@= skipped -26, +26 lines =@@ + //// [out/c.js] + "use strict"; + module.exports = { a: true, b: "hello" }; +-//// [out/c.json] +-{ +- "a": true, +- "b": "hello" +-} + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var c1 = require("./c"); // resolves to c.ts ++const c1 = require("./c"); // resolves to c.ts + let x2 = c1.a; +-var c2 = require("./c.json"); // resolves to c.json ++const c2 = require("./c.json"); // resolves to c.json + if (x2) { + let b = c2.b; + let x = (c1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js new file mode 100644 index 0000000000..6acd4e0f6b --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js @@ -0,0 +1,24 @@ +//// [tests/cases/compiler/requireOfJsonFileWithoutResolveJsonModule.ts] //// + +//// [file1.ts] +import b1 = require('./b.json'); // error +let x = b1.a; +import b2 = require('./b.json'); // error +if (x) { + let b = b2.b; + x = (b1.b === b); +} + +//// [b.json] +contents Not read + +//// [out/file1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b1 = require("./b.json"); // error +let x = b1.a; +const b2 = require("./b.json"); // error +if (x) { + let b = b2.b; + x = (b1.b === b); +} diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff new file mode 100644 index 0000000000..144f05cf5c --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModule.js.diff @@ -0,0 +1,14 @@ +--- old.requireOfJsonFileWithoutResolveJsonModule.js ++++ new.requireOfJsonFileWithoutResolveJsonModule.js +@@= skipped -14, +14 lines =@@ + //// [out/file1.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b1 = require("./b.json"); // error ++const b1 = require("./b.json"); // error + let x = b1.a; +-var b2 = require("./b.json"); // error ++const b2 = require("./b.json"); // error + if (x) { + let b = b2.b; + x = (b1.b === b); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModuleAndPathMapping.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModuleAndPathMapping.js new file mode 100644 index 0000000000..93cfba254a --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFileWithoutResolveJsonModuleAndPathMapping.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/requireOfJsonFileWithoutResolveJsonModuleAndPathMapping.ts] //// + +//// [foobar.json] +{ "a": 10 } + +//// [a.ts] +import foobar from "foo/bar/foobar.json"; + + +//// [/bin/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/requireOfJsonFile_PathMapping.js b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile_PathMapping.js new file mode 100644 index 0000000000..88eb73fa87 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/requireOfJsonFile_PathMapping.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/requireOfJsonFile_PathMapping.ts] //// + +//// [foobar.json] +{ "a": 10 } + +//// [a.ts] +import foobar from "foo/bar/foobar.json"; + + +//// [/bin/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js new file mode 100644 index 0000000000..08eb0d9824 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/resolveNameWithNamspace.ts] //// + +//// [node.d.ts] +declare function require(moduleName: string): any; + +declare module "assert" { + export function equal(actual: any, expected: any, message?: string | Error): void; +} + +//// [ns.ts] +/// +namespace myAssert { + export type cool = 'cool' +} +var myAssert = require('assert') + +//// [app.js] +exports.equal = myAssert.equal +exports.equal() + +//// [ns.js] +/// +var myAssert = require('assert'); +//// [app.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var equal = myAssert.equal; +exports.equal = myAssert.equal; +exports.equal(); diff --git a/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff new file mode 100644 index 0000000000..ed275fe236 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/resolveNameWithNamspace.js.diff @@ -0,0 +1,11 @@ +--- old.resolveNameWithNamspace.js ++++ new.resolveNameWithNamspace.js +@@= skipped -21, +21 lines =@@ + /// + var myAssert = require('assert'); + //// [app.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var equal = myAssert.equal; + exports.equal = myAssert.equal; + exports.equal(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js b/testdata/baselines/reference/submodule/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js new file mode 100644 index 0000000000..2ae2909b75 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js @@ -0,0 +1,46 @@ +//// [tests/cases/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.ts] //// + +//// [contractHelper.d.ts] +export function handleParamGovernance(zcf: any): { + publicMixin: { + getGovernedParams: () => globalThis.ERef; + }; +}; + +//// [exported.d.ts] +type _ERef = T | Promise; +import { ParamStateRecord as _ParamStateRecord } from './types.js'; +declare global { + // @ts-ignore TS2666 + export { + _ERef as ERef, + _ParamStateRecord as ParamStateRecord, + }; +} + +//// [types.js] +export {}; +/** + * @typedef {Record} ParamStateRecord a Record containing + * keyword pairs with descriptions of parameters under governance. + */ + +//// [index.js] +import { handleParamGovernance } from './contractHelper.js'; +export const blah = handleParamGovernance({}); + + + + +//// [types.d.ts] +export {}; +/** + * @typedef {Record} ParamStateRecord a Record containing + * keyword pairs with descriptions of parameters under governance. + */ +//// [index.d.ts] +export declare const blah: { + publicMixin: { + getGovernedParams: () => any; + }; +}; diff --git a/testdata/baselines/reference/submodule/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js.diff b/testdata/baselines/reference/submodule/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js.diff new file mode 100644 index 0000000000..5237df289e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js.diff @@ -0,0 +1,21 @@ +--- old.reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js ++++ new.reuseTypeAnnotationImportTypeInGlobalThisTypeArgument.js +@@= skipped -32, +32 lines =@@ + + + //// [types.d.ts] ++export {}; + /** +- * a Record containing ++ * @typedef {Record} ParamStateRecord a Record containing + * keyword pairs with descriptions of parameters under governance. + */ +-export type ParamStateRecord = Record; + //// [index.d.ts] +-export const blah: { ++export declare const blah: { + publicMixin: { +- getGovernedParams: () => globalThis.ERef; ++ getGovernedParams: () => any; + }; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/selfReferentialDefaultNoStackOverflow.js b/testdata/baselines/reference/submodule/compiler/selfReferentialDefaultNoStackOverflow.js new file mode 100644 index 0000000000..f032036b05 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/selfReferentialDefaultNoStackOverflow.js @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/selfReferentialDefaultNoStackOverflow.ts] //// + +//// [QSpinner.js] +import DefaultSpinner from './QSpinner' + +export default { + mixins: [DefaultSpinner], + name: 'QSpinner' +} + + +//// [QSpinner.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const QSpinner_1 = require("./QSpinner"); +exports.default = { + mixins: [QSpinner_1.default], + name: 'QSpinner' +}; diff --git a/testdata/baselines/reference/submodule/compiler/selfReferentialDefaultNoStackOverflow.js.diff b/testdata/baselines/reference/submodule/compiler/selfReferentialDefaultNoStackOverflow.js.diff new file mode 100644 index 0000000000..a5edb40db3 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/selfReferentialDefaultNoStackOverflow.js.diff @@ -0,0 +1,11 @@ +--- old.selfReferentialDefaultNoStackOverflow.js ++++ new.selfReferentialDefaultNoStackOverflow.js +@@= skipped -11, +11 lines =@@ + //// [QSpinner.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var QSpinner_1 = require("./QSpinner"); ++const QSpinner_1 = require("./QSpinner"); + exports.default = { + mixins: [QSpinner_1.default], + name: 'QSpinner' \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/sideEffectImports4(nouncheckedsideeffectimports=false).js b/testdata/baselines/reference/submodule/compiler/sideEffectImports4(nouncheckedsideeffectimports=false).js new file mode 100644 index 0000000000..4dd388e90f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/sideEffectImports4(nouncheckedsideeffectimports=false).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +//// [package.json] +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +//// [index.js] +throw new Error(); + +//// [empty.js] +// Empty + +//// [package.json] +{ + "name": "root", + "type": "module" +} + +//// [index.ts] +import "server-only"; + + +//// [index.js] +import "server-only"; diff --git a/testdata/baselines/reference/submodule/compiler/sideEffectImports4(nouncheckedsideeffectimports=true).js b/testdata/baselines/reference/submodule/compiler/sideEffectImports4(nouncheckedsideeffectimports=true).js new file mode 100644 index 0000000000..4dd388e90f --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/sideEffectImports4(nouncheckedsideeffectimports=true).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +//// [package.json] +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +//// [index.js] +throw new Error(); + +//// [empty.js] +// Empty + +//// [package.json] +{ + "name": "root", + "type": "module" +} + +//// [index.ts] +import "server-only"; + + +//// [index.js] +import "server-only"; diff --git a/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable01.js b/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable01.js new file mode 100644 index 0000000000..290192cd2e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable01.js @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/subclassThisTypeAssignable01.ts] //// + +//// [tile1.ts] +interface Lifecycle { + oninit?(vnode: Vnode): number; + [_: number]: any; +} + +interface Vnode = Lifecycle> { + tag: Component; +} + +interface Component { + view(this: State, vnode: Vnode): number; +} + +interface ClassComponent
extends Lifecycle> { + oninit?(vnode: Vnode): number; + view(vnode: Vnode): number; +} + +interface MyAttrs { id: number } +class C implements ClassComponent { + view(v: Vnode) { return 0; } +} + +const test8: ClassComponent = new C(); +//// [file1.js] +/** @type {ClassComponent} */ +const test9 = new C(); + + +//// [tile1.js] +class C { + view(v) { return 0; } +} +const test8 = new C(); +//// [file1.js] +/** @type {ClassComponent} */ +const test9 = new C(); diff --git a/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable02.js b/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable02.js new file mode 100644 index 0000000000..7c4894d69d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable02.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/subclassThisTypeAssignable02.ts] //// + +//// [tile1.ts] +interface Lifecycle> { + oninit?(vnode: Vnode): number; + [_: number]: any; +} + +interface Vnode> { + tag: Component; +} + +interface Component> { + view(this: State, vnode: Vnode): number; +} + +interface ClassComponent extends Lifecycle> { + oninit?(vnode: Vnode): number; + view(vnode: Vnode): number; +} + +interface MyAttrs { id: number } +class C implements ClassComponent { + view(v: Vnode) { return 0; } + + // Must declare a compatible-ish index signature or else + // we won't correctly implement ClassComponent. + [_: number]: unknown; +} + +const test8: ClassComponent = new C(); +//// [file1.js] +/** @type {ClassComponent} */ +const test9 = new C(); + + +//// [tile1.js] +class C { + view(v) { return 0; } +} +const test8 = new C(); +//// [file1.js] +/** @type {ClassComponent} */ +const test9 = new C(); diff --git a/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable02.js.diff b/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable02.js.diff new file mode 100644 index 0000000000..241e4ca1cf --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/subclassThisTypeAssignable02.js.diff @@ -0,0 +1,15 @@ +--- old.subclassThisTypeAssignable02.js ++++ new.subclassThisTypeAssignable02.js +@@= skipped -34, +34 lines =@@ + + + //// [tile1.js] +-"use strict"; + class C { + view(v) { return 0; } + } + const test8 = new C(); + //// [file1.js] +-"use strict"; + /** @type {ClassComponent} */ + const test9 = new C(); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/compiler/superNoModifiersCrash.js b/testdata/baselines/reference/submodule/compiler/superNoModifiersCrash.js new file mode 100644 index 0000000000..949e0a870d --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/superNoModifiersCrash.js @@ -0,0 +1,26 @@ +//// [tests/cases/compiler/superNoModifiersCrash.ts] //// + +//// [File.js] +class Parent { + initialize() { + super.initialize(...arguments) + return this.asdf = '' + } + } + +class Child extends Parent { + initialize() { + } +} + +//// [File.js] +class Parent { + initialize() { + super.initialize(...arguments); + return this.asdf = ''; + } +} +class Child extends Parent { + initialize() { + } +} diff --git a/testdata/baselines/reference/submodule/compiler/thisAssignmentInNamespaceDeclaration1.js b/testdata/baselines/reference/submodule/compiler/thisAssignmentInNamespaceDeclaration1.js new file mode 100644 index 0000000000..4735d38fde --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/thisAssignmentInNamespaceDeclaration1.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/thisAssignmentInNamespaceDeclaration1.ts] //// + +//// [a.js] +module foo { + this.bar = 4; +} + +//// [b.js] +namespace blah { + this.prop = 42; +} + + +//// [a.js] +var foo; +(function (foo) { + this.bar = 4; +})(foo || (foo = {})); +//// [b.js] +var blah; +(function (blah) { + this.prop = 42; +})(blah || (blah = {})); diff --git a/testdata/baselines/reference/submodule/compiler/thisInObjectJs.js b/testdata/baselines/reference/submodule/compiler/thisInObjectJs.js new file mode 100644 index 0000000000..cca482b9b6 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/thisInObjectJs.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/thisInObjectJs.ts] //// + +//// [index.js] +export { } +let obj = { + x: 10, + y: [1], + fun: function() { + this.x = 1 + this/*1*/ + }, + f2: function() { + this.x + this/*2*/ + }, + f3: (function() { + this.x = 1 + this/*3*/ + }), +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +let obj = { + x: 10, + y: [1], + fun: function () { + this.x = 1; + this; /*1*/ + }, + f2: function () { + this.x; + this; /*2*/ + }, + f3: (function () { + this.x = 1; + this; /*3*/ + }), +}; diff --git a/testdata/baselines/reference/submodule/compiler/unicodeEscapesInJSDoc.js b/testdata/baselines/reference/submodule/compiler/unicodeEscapesInJSDoc.js new file mode 100644 index 0000000000..76aca7f818 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/unicodeEscapesInJSDoc.js @@ -0,0 +1,35 @@ +//// [tests/cases/compiler/unicodeEscapesInJSDoc.ts] //// + +//// [file.js] +/** + * @param {number} \u0061 + * @param {number} a\u0061 + */ +function foo(a, aa) { + console.log(a + aa); +} + +/** + * @param {number} \u{0061} + * @param {number} a\u{0061} + */ +function bar(a, aa) { + console.log(a + aa); +} + + +//// [file.js] +/** + * @param {number} \u0061 + * @param {number} a\u0061 + */ +function foo(a, aa) { + console.log(a + aa); +} +/** + * @param {number} \u{0061} + * @param {number} a\u{0061} + */ +function bar(a, aa) { + console.log(a + aa); +} diff --git a/testdata/baselines/reference/submodule/compiler/unreachableJavascriptChecked.js b/testdata/baselines/reference/submodule/compiler/unreachableJavascriptChecked.js new file mode 100644 index 0000000000..d7aa8a115e --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/unreachableJavascriptChecked.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/unreachableJavascriptChecked.ts] //// + +//// [unreachable.js] +function unreachable() { + return f(); + return 2; + return 3; + function f() {} + return 4; +} + + +//// [unreachable.js] +function unreachable() { + return f(); + return 2; + return 3; + function f() { } + return 4; +} diff --git a/testdata/baselines/reference/submodule/compiler/unreachableJavascriptUnchecked.js b/testdata/baselines/reference/submodule/compiler/unreachableJavascriptUnchecked.js new file mode 100644 index 0000000000..fe542112f8 --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/unreachableJavascriptUnchecked.js @@ -0,0 +1,13 @@ +//// [tests/cases/compiler/unreachableJavascriptUnchecked.ts] //// + +//// [unreachable.js] +function unreachable() { + return 1; + return 2; +} + +//// [unreachable.js] +function unreachable() { + return 1; + return 2; +} diff --git a/testdata/baselines/reference/submodule/compiler/usedImportNotElidedInJs.js b/testdata/baselines/reference/submodule/compiler/usedImportNotElidedInJs.js new file mode 100644 index 0000000000..2433999eec --- /dev/null +++ b/testdata/baselines/reference/submodule/compiler/usedImportNotElidedInJs.js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/usedImportNotElidedInJs.ts] //// + +//// [test.js] +import * as moment from 'moment'; +import rollupMoment__default from 'moment'; +export const moment = rollupMoment__default || moment; + + +//// [test.js] +import * as moment from 'moment'; +import rollupMoment__default from 'moment'; +export const moment = rollupMoment__default || moment; diff --git a/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js new file mode 100644 index 0000000000..b0320bf6dd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/controlFlow/assertionTypePredicates2.ts] //// + +//// [assertionTypePredicates2.js] +/** + * @typedef {{ x: number }} A + */ + +/** + * @typedef { A & { y: number } } B + */ + +/** + * @param {A} a + * @returns { asserts a is B } + */ +const foo = (a) => { + if (/** @type { B } */ (a).y !== 0) throw TypeError(); + return undefined; +}; + +export const main = () => { + /** @type { A } */ + const a = { x: 1 }; + foo(a); +}; + + +//// [assertionTypePredicates2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.main = void 0; +/** + * @typedef {{ x: number }} A + */ +/** + * @typedef { A & { y: number } } B + */ +/** + * @param {A} a + * @returns { asserts a is B } + */ +const foo = (a) => { + if ( /** @type { B } */a.y !== 0) + throw TypeError(); + return undefined; +}; +const main = () => { + /** @type { A } */ + const a = { x: 1 }; + foo(a); +}; +exports.main = main; diff --git a/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff new file mode 100644 index 0000000000..ae9f8f494d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assertionTypePredicates2.js.diff @@ -0,0 +1,27 @@ +--- old.assertionTypePredicates2.js ++++ new.assertionTypePredicates2.js +@@= skipped -26, +26 lines =@@ + + //// [assertionTypePredicates2.js] + "use strict"; +-/** +- * @typedef {{ x: number }} A +- */ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.main = void 0; + /** ++ * @typedef {{ x: number }} A ++ */ ++/** + * @typedef { A & { y: number } } B + */ + /** +@@= skipped -13, +13 lines =@@ + * @returns { asserts a is B } + */ + const foo = (a) => { +- if ( /** @type { B } */(a).y !== 0) ++ if ( /** @type { B } */a.y !== 0) + throw TypeError(); + return undefined; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js new file mode 100644 index 0000000000..699e13f260 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js @@ -0,0 +1,28 @@ +//// [tests/cases/conformance/salsa/assignmentToVoidZero1.ts] //// + +//// [assignmentToVoidZero1.js] +// #38552 +exports.y = exports.x = void 0; +exports.x = 1; +exports.y = 2; + + +//// [assignmentToVoidZero1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// #38552 +export var y = exports.x = void 0; +// #38552 +exports.y = exports.x = void 0; +export var x = 1; +exports.x = 1; +export var y = 2; +exports.y = 2; + + +//// [assignmentToVoidZero1.d.ts] +// #38552 +export var y = exports.x = void 0; +export var x = 1; +export var y = 2; +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff new file mode 100644 index 0000000000..6b0f45d4bc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero1.js.diff @@ -0,0 +1,26 @@ +--- old.assignmentToVoidZero1.js ++++ new.assignmentToVoidZero1.js +@@= skipped -7, +7 lines =@@ + + + //// [assignmentToVoidZero1.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++// #38552 ++export var y = exports.x = void 0; + // #38552 + exports.y = exports.x = void 0; ++export var x = 1; + exports.x = 1; ++export var y = 2; + exports.y = 2; + + + //// [assignmentToVoidZero1.d.ts] +-export const x: 1; +-export const y: 2; ++// #38552 ++export var y = exports.x = void 0; ++export var x = 1; ++export var y = 2; ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js new file mode 100644 index 0000000000..38bfb25afb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/salsa/assignmentToVoidZero2.ts] //// + +//// [assignmentToVoidZero2.js] +exports.j = 1; +exports.k = void 0; +var o = {} +o.x = 1 +o.y = void 0 +o.x + o.y + +function C() { + this.p = 1 + this.q = void 0 +} +var c = new C() +c.p + c.q + +//// [importer.js] +import { j, k } from './assignmentToVoidZero2' +j + k + + +//// [assignmentToVoidZero2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var j = 1; +exports.j = 1; +export var k = void 0; +exports.k = void 0; +var o = {}; +o.x = 1; +o.y = void 0; +o.x + o.y; +function C() { + this.p = 1; + this.q = void 0; +} +var c = new C(); +c.p + c.q; +//// [importer.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const assignmentToVoidZero2_1 = require("./assignmentToVoidZero2"); +assignmentToVoidZero2_1.j + assignmentToVoidZero2_1.k; + + +//// [assignmentToVoidZero2.d.ts] +export var j = 1; +export var k = void 0; +export {}; +//// [importer.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff new file mode 100644 index 0000000000..828b31c77b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/assignmentToVoidZero2.js.diff @@ -0,0 +1,30 @@ +--- old.assignmentToVoidZero2.js ++++ new.assignmentToVoidZero2.js +@@= skipped -20, +20 lines =@@ + + + //// [assignmentToVoidZero2.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var j = 1; + exports.j = 1; ++export var k = void 0; + exports.k = void 0; + var o = {}; + o.x = 1; +@@= skipped -15, +19 lines =@@ + //// [importer.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var assignmentToVoidZero2_1 = require("./assignmentToVoidZero2"); ++const assignmentToVoidZero2_1 = require("./assignmentToVoidZero2"); + assignmentToVoidZero2_1.j + assignmentToVoidZero2_1.k; + + + //// [assignmentToVoidZero2.d.ts] +-export const j: 1; ++export var j = 1; ++export var k = void 0; ++export {}; + //// [importer.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js new file mode 100644 index 0000000000..69212e50e8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js @@ -0,0 +1,81 @@ +//// [tests/cases/conformance/moduleResolution/bundler/bundlerImportTsExtensions.ts] //// + +//// [a.ts] +export {}; + +//// [b.ts] +export {}; + +//// [b.js] +export {}; + +//// [b.d.ts] +export {}; + +//// [c.ts] +export {}; + +//// [c.tsx] +export {}; + +//// [index.ts] +export {}; + +//// [e] +WOMP WOMP BINARY DATA + +//// [e.ts] +export {}; + +//// [e.txt] +The letter e is for elephant +This poem is not about elephants +It is about the letter e +- Authored by GitHub Copilot, Nov 2022 + +//// [e.txt.ts] +export {}; + +//// [main.ts] +import {} from "./a"; +import {} from "./a.js"; +import {} from "./a.ts"; + +import {} from "./b"; +import {} from "./b.js"; +import {} from "./b.ts"; +import {} from "./b.d.ts"; +import type {} from "./b.d.ts"; + +import {} from "./c.ts"; +import {} from "./c.tsx"; + +import {} from "./d"; +import {} from "./d/index"; +import {} from "./d/index.ts"; + +// These should not resolve, but preventing them has +// relatively little utility compared to the cost of +// the filesystem hits. +import {} from "./e"; +import {} from "./e.txt"; + +//// [types.d.ts] +import {} from "./a.ts"; +import {} from "./a.d.ts"; +import type {} from "./a.d.ts"; + +//// [a.js] +export {}; +//// [b.js] +export {}; +//// [c.js] +export {}; +//// [index.js] +export {}; +//// [e.js] +export {}; +//// [e.txt.js] +export {}; +//// [main.js] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js.diff b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js.diff new file mode 100644 index 0000000000..80b6c46b59 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js.diff @@ -0,0 +1,13 @@ +--- old.bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js ++++ new.bundlerImportTsExtensions(allowimportingtsextensions=false,noemit=false).js +@@= skipped -66, +66 lines =@@ + + //// [a.js] + export {}; ++//// [b.js] ++export {}; ++//// [c.js] ++export {}; + //// [index.js] + export {}; + //// [e.js] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js new file mode 100644 index 0000000000..69212e50e8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js @@ -0,0 +1,81 @@ +//// [tests/cases/conformance/moduleResolution/bundler/bundlerImportTsExtensions.ts] //// + +//// [a.ts] +export {}; + +//// [b.ts] +export {}; + +//// [b.js] +export {}; + +//// [b.d.ts] +export {}; + +//// [c.ts] +export {}; + +//// [c.tsx] +export {}; + +//// [index.ts] +export {}; + +//// [e] +WOMP WOMP BINARY DATA + +//// [e.ts] +export {}; + +//// [e.txt] +The letter e is for elephant +This poem is not about elephants +It is about the letter e +- Authored by GitHub Copilot, Nov 2022 + +//// [e.txt.ts] +export {}; + +//// [main.ts] +import {} from "./a"; +import {} from "./a.js"; +import {} from "./a.ts"; + +import {} from "./b"; +import {} from "./b.js"; +import {} from "./b.ts"; +import {} from "./b.d.ts"; +import type {} from "./b.d.ts"; + +import {} from "./c.ts"; +import {} from "./c.tsx"; + +import {} from "./d"; +import {} from "./d/index"; +import {} from "./d/index.ts"; + +// These should not resolve, but preventing them has +// relatively little utility compared to the cost of +// the filesystem hits. +import {} from "./e"; +import {} from "./e.txt"; + +//// [types.d.ts] +import {} from "./a.ts"; +import {} from "./a.d.ts"; +import type {} from "./a.d.ts"; + +//// [a.js] +export {}; +//// [b.js] +export {}; +//// [c.js] +export {}; +//// [index.js] +export {}; +//// [e.js] +export {}; +//// [e.txt.js] +export {}; +//// [main.js] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js.diff b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js.diff new file mode 100644 index 0000000000..3d6554f127 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js.diff @@ -0,0 +1,13 @@ +--- old.bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js ++++ new.bundlerImportTsExtensions(allowimportingtsextensions=true,noemit=false).js +@@= skipped -66, +66 lines =@@ + + //// [a.js] + export {}; ++//// [b.js] ++export {}; ++//// [c.js] ++export {}; + //// [index.js] + export {}; + //// [e.js] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=esnext).js b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=esnext).js new file mode 100644 index 0000000000..04690c98d9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=esnext).js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/moduleResolution/bundler/bundlerSyntaxRestrictions.ts] //// + +//// [index.d.ts] +declare var require: (...args: any[]) => any; + +//// [ambient.d.ts] +declare module "fs" { + export function readFileSync(path: string, encoding?: string): string; +} +declare module "path" { + import fs = require("fs"); // ok + namespace path { + export const sep: string; + } + export = path; // ok +} + +//// [mainJs.js] +import {} from "./a"; +import("./a"); +const _ = require("./a"); +_.a; // any + +//// [main.ts] +import {} from "./a"; +import _ = require("./a"); // Error in esnext +export = {}; // Error +export {}; + +//// [a.ts] +export const a = "a"; + + +//// [a.js] +export const a = "a"; +//// [mainJs.js] +import {} from "./a"; +import("./a"); +const _ = require("./a"); +_.a; // any +//// [main.js] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=esnext).js.diff b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=esnext).js.diff new file mode 100644 index 0000000000..56bea43eda --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=esnext).js.diff @@ -0,0 +1,13 @@ +--- old.bundlerSyntaxRestrictions(module=esnext).js ++++ new.bundlerSyntaxRestrictions(module=esnext).js +@@= skipped -33, +33 lines =@@ + //// [a.js] + export const a = "a"; + //// [mainJs.js] ++import {} from "./a"; + import("./a"); + const _ = require("./a"); + _.a; // any +-export {}; + //// [main.js] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=preserve).js b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=preserve).js new file mode 100644 index 0000000000..013767234d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=preserve).js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/moduleResolution/bundler/bundlerSyntaxRestrictions.ts] //// + +//// [index.d.ts] +declare var require: (...args: any[]) => any; + +//// [ambient.d.ts] +declare module "fs" { + export function readFileSync(path: string, encoding?: string): string; +} +declare module "path" { + import fs = require("fs"); // ok + namespace path { + export const sep: string; + } + export = path; // ok +} + +//// [mainJs.js] +import {} from "./a"; +import("./a"); +const _ = require("./a"); +_.a; // any + +//// [main.ts] +import {} from "./a"; +import _ = require("./a"); // Error in esnext +export = {}; // Error +export {}; + +//// [a.ts] +export const a = "a"; + + +//// [a.js] +export const a = "a"; +//// [mainJs.js] +import {} from "./a"; +import("./a"); +const _ = require("./a"); +_.a; // any +//// [main.js] +module.exports = {}; diff --git a/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=preserve).js.diff b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=preserve).js.diff new file mode 100644 index 0000000000..2a95c9a16e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/bundlerSyntaxRestrictions(module=preserve).js.diff @@ -0,0 +1,10 @@ +--- old.bundlerSyntaxRestrictions(module=preserve).js ++++ new.bundlerSyntaxRestrictions(module=preserve).js +@@= skipped -33, +33 lines =@@ + //// [a.js] + export const a = "a"; + //// [mainJs.js] ++import {} from "./a"; + import("./a"); + const _ = require("./a"); + _.a; // any \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/callbackOnConstructor.js b/testdata/baselines/reference/submodule/conformance/callbackOnConstructor.js new file mode 100644 index 0000000000..431cb909b3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/callbackOnConstructor.js @@ -0,0 +1,47 @@ +//// [tests/cases/conformance/jsdoc/callbackOnConstructor.ts] //// + +//// [callbackOnConstructor.js] +export class Preferences { + assignability = "no" + /** + * @callback ValueGetter_2 + * @param {string} name + * @returns {boolean|number|string|undefined} + */ + constructor() {} +} + + +/** @type {ValueGetter_2} */ +var ooscope2 = s => s.length > 0 + + +//// [callbackOnConstructor.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Preferences = void 0; +class Preferences { + assignability = "no"; + /** + * @callback ValueGetter_2 + * @param {string} name + * @returns {boolean|number|string|undefined} + */ + constructor() { } +} +exports.Preferences = Preferences; +/** @type {ValueGetter_2} */ +var ooscope2 = s => s.length > 0; + + +//// [callbackOnConstructor.d.ts] +export declare class Preferences { + assignability: string; + export type ValueGetter_2 = (name: string) => boolean | number | string | undefined; + /** + * @callback ValueGetter_2 + * @param {string} name + * @returns {boolean|number|string|undefined} + */ + constructor(); +} diff --git a/testdata/baselines/reference/submodule/conformance/callbackOnConstructor.js.diff b/testdata/baselines/reference/submodule/conformance/callbackOnConstructor.js.diff new file mode 100644 index 0000000000..45a701f8e7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/callbackOnConstructor.js.diff @@ -0,0 +1,34 @@ +--- old.callbackOnConstructor.js ++++ new.callbackOnConstructor.js +@@= skipped -20, +20 lines =@@ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Preferences = void 0; + class Preferences { ++ assignability = "no"; + /** + * @callback ValueGetter_2 + * @param {string} name + * @returns {boolean|number|string|undefined} + */ +- constructor() { +- this.assignability = "no"; +- } ++ constructor() { } + } + exports.Preferences = Preferences; + /** @type {ValueGetter_2} */ +@@= skipped -15, +14 lines =@@ + + + //// [callbackOnConstructor.d.ts] +-export class Preferences { ++export declare class Preferences { + assignability: string; ++ export type ValueGetter_2 = (name: string) => boolean | number | string | undefined; ++ /** ++ * @callback ValueGetter_2 ++ * @param {string} name ++ * @returns {boolean|number|string|undefined} ++ */ ++ constructor(); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js new file mode 100644 index 0000000000..e8bfcd3d8f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js @@ -0,0 +1,28 @@ +//// [tests/cases/conformance/jsdoc/callbackTagNestedParameter.ts] //// + +//// [cb_nested.js] +/** + * @callback WorksWithPeopleCallback + * @param {Object} person + * @param {string} person.name + * @param {number} [person.age] + * @returns {void} + */ + +/** + * For each person, calls your callback. + * @param {WorksWithPeopleCallback} callback + * @returns {void} + */ +function eachPerson(callback) { + callback({ name: "Empty" }); +} + + + + +//// [cb_nested.d.ts] +export type WorksWithPeopleCallback = (person: { + name: string; + age?: number; +}) => void; diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff new file mode 100644 index 0000000000..734963ee5a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/callbackTagNestedParameter.js.diff @@ -0,0 +1,24 @@ +--- old.callbackTagNestedParameter.js ++++ new.callbackTagNestedParameter.js +@@= skipped -21, +21 lines =@@ + + + //// [cb_nested.d.ts] +-/** +- * @callback WorksWithPeopleCallback +- * @param {Object} person +- * @param {string} person.name +- * @param {number} [person.age] +- * @returns {void} +- */ +-/** +- * For each person, calls your callback. +- * @param {WorksWithPeopleCallback} callback +- * @returns {void} +- */ +-declare function eachPerson(callback: WorksWithPeopleCallback): void; +-type WorksWithPeopleCallback = (person: { ++export type WorksWithPeopleCallback = (person: { + name: string; + age?: number; + }) => void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js new file mode 100644 index 0000000000..1f01695a33 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js @@ -0,0 +1,38 @@ +//// [tests/cases/conformance/jsdoc/callbackTagVariadicType.ts] //// + +//// [callbackTagVariadicType.js] +/** + * @callback Foo + * @param {...string} args + * @returns {number} + */ + +/** @type {Foo} */ +export const x = () => 1 +var res = x('a', 'b') + + +//// [callbackTagVariadicType.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +/** + * @callback Foo + * @param {...string} args + * @returns {number} + */ +/** @type {Foo} */ +const x = () => 1; +exports.x = x; +var res = (0, exports.x)('a', 'b'); + + +//// [callbackTagVariadicType.d.ts] +export type Foo = (args: string[]) => number; +/** + * @callback Foo + * @param {...string} args + * @returns {number} + */ +/** @type {Foo} */ +export declare const x: Foo; diff --git a/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff new file mode 100644 index 0000000000..5b8112946f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/callbackTagVariadicType.js.diff @@ -0,0 +1,35 @@ +--- old.callbackTagVariadicType.js ++++ new.callbackTagVariadicType.js +@@= skipped -13, +13 lines =@@ + + //// [callbackTagVariadicType.js] + "use strict"; +-/** +- * @callback Foo +- * @param {...string} args +- * @returns {number} +- */ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; ++/** ++ * @callback Foo ++ * @param {...string} args ++ * @returns {number} ++ */ + /** @type {Foo} */ + const x = () => 1; + exports.x = x; +@@= skipped -14, +14 lines =@@ + + + //// [callbackTagVariadicType.d.ts] ++export type Foo = (args: string[]) => number; + /** + * @callback Foo + * @param {...string} args + * @returns {number} + */ + /** @type {Foo} */ +-export const x: Foo; +-export type Foo = (...args: string[]) => number; ++export declare const x: Foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocOptionalParamOrder.js b/testdata/baselines/reference/submodule/conformance/checkJsdocOptionalParamOrder.js new file mode 100644 index 0000000000..fb8c21dabd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocOptionalParamOrder.js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocOptionalParamOrder.ts] //// + +//// [0.js] +// @ts-check +/** + * @param {number} a + * @param {number} [b] + * @param {number} c + */ +function foo(a, b, c) {} + + +//// [0.js] +// @ts-check +/** + * @param {number} a + * @param {number} [b] + * @param {number} c + */ +function foo(a, b, c) { } diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocParamOnVariableDeclaredFunctionExpression.js b/testdata/baselines/reference/submodule/conformance/checkJsdocParamOnVariableDeclaredFunctionExpression.js new file mode 100644 index 0000000000..fc3748709e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocParamOnVariableDeclaredFunctionExpression.js @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocParamOnVariableDeclaredFunctionExpression.ts] //// + +//// [0.js] +// @ts-check +/** + * @param {number=} n + * @param {string} [s] + */ +var x = function foo(n, s) {} +var y; +/** + * @param {boolean!} b + */ +y = function bar(b) {} + +/** + * @param {string} s + */ +var one = function (s) { }, two = function (untyped) { }; + + +//// [0.js] +// @ts-check +/** + * @param {number=} n + * @param {string} [s] + */ +var x = function foo(n, s) { }; +var y; +/** + * @param {boolean!} b + */ +y = function bar(b) { }; +/** + * @param {string} s + */ +var one = function (s) { }, two = function (untyped) { }; diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocParamTag1.js b/testdata/baselines/reference/submodule/conformance/checkJsdocParamTag1.js new file mode 100644 index 0000000000..495daf0bca --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocParamTag1.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocParamTag1.ts] //// + +//// [0.js] +// @ts-check +/** + * @param {number=} n + * @param {string} [s] + */ +function foo(n, s) {} + +foo(); +foo(1); +foo(1, "hi"); + +//// [0.js] +// @ts-check +/** + * @param {number=} n + * @param {string} [s] + */ +function foo(n, s) { } +foo(); +foo(1); +foo(1, "hi"); diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTag1.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTag1.js new file mode 100644 index 0000000000..a154f9d89a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTag1.js @@ -0,0 +1,77 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocTypeTag1.ts] //// + +//// [0.js] +// @ts-check +/** @type {String} */ +var S = "hello world"; + +/** @type {number} */ +var n = 10; + +/** @type {*} */ +var anyT = 2; +anyT = "hello"; + +/** @type {?} */ +var anyT1 = 2; +anyT1 = "hi"; + +/** @type {Function} */ +const x = (a) => a + 1; +x(1); + +/** @type {function} */ +const y = (a) => a + 1; +y(1); + +/** @type {function (number)} */ +const x1 = (a) => a + 1; +x1(0); + +/** @type {function (number): number} */ +const x2 = (a) => a + 1; +x2(0); + +/** + * @type {object} + */ +var props = {}; + +/** + * @type {Object} + */ +var props = {}; + + +//// [0.js] +// @ts-check +/** @type {String} */ +var S = "hello world"; +/** @type {number} */ +var n = 10; +/** @type {*} */ +var anyT = 2; +anyT = "hello"; +/** @type {?} */ +var anyT1 = 2; +anyT1 = "hi"; +/** @type {Function} */ +const x = (a) => a + 1; +x(1); +/** @type {function} */ +const y = (a) => a + 1; +y(1); +/** @type {function (number)} */ +const x1 = (a) => a + 1; +x1(0); +/** @type {function (number): number} */ +const x2 = (a) => a + 1; +x2(0); +/** + * @type {object} + */ +var props = {}; +/** + * @type {Object} + */ +var props = {}; diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTag2.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTag2.js new file mode 100644 index 0000000000..ee542d60a9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTag2.js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocTypeTag2.ts] //// + +//// [0.js] +// @ts-check +/** @type {String} */ +var S = true; + +/** @type {number} */ +var n = "hello"; + +/** @type {function (number)} */ +const x1 = (a) => a + 1; +x1("string"); + +/** @type {function (number): number} */ +const x2 = (a) => a + 1; + +/** @type {string} */ +var a; +a = x2(0); + +/** @type {function (number): number} */ +const x3 = (a) => a.concat("hi"); +x3(0); + +/** @type {function (number): string} */ +const x4 = (a) => a + 1; +x4(0); + +//// [0.js] +// @ts-check +/** @type {String} */ +var S = true; +/** @type {number} */ +var n = "hello"; +/** @type {function (number)} */ +const x1 = (a) => a + 1; +x1("string"); +/** @type {function (number): number} */ +const x2 = (a) => a + 1; +/** @type {string} */ +var a; +a = x2(0); +/** @type {function (number): number} */ +const x3 = (a) => a.concat("hi"); +x3(0); +/** @type {function (number): string} */ +const x4 = (a) => a + 1; +x4(0); diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTagOnObjectProperty1.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTagOnObjectProperty1.js new file mode 100644 index 0000000000..015c24d006 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTagOnObjectProperty1.js @@ -0,0 +1,53 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocTypeTagOnObjectProperty1.ts] //// + +//// [0.js] +// @ts-check +var lol = "hello Lol" +const obj = { + /** @type {string|undefined} */ + foo: undefined, + /** @type {string|undefined} */ + bar: "42", + /** @type {function(number): number} */ + method1(n1) { + return n1 + 42; + }, + /** @type {string} */ + lol, + /** @type {number} */ + ['b' + 'ar1']: 42, + /** @type {function(number): number} */ + arrowFunc: (num) => num + 42 +} +obj.foo = 'string' +obj.lol +obj.bar = undefined; +var k = obj.method1(0); +obj.bar1 = "42"; +obj.arrowFunc(0); + +//// [0.js] +// @ts-check +var lol = "hello Lol"; +const obj = { + /** @type {string|undefined} */ + foo: undefined, + /** @type {string|undefined} */ + bar: "42", + /** @type {function(number): number} */ + method1(n1) { + return n1 + 42; + }, + /** @type {string} */ + lol, + /** @type {number} */ + ['b' + 'ar1']: 42, + /** @type {function(number): number} */ + arrowFunc: (num) => num + 42 +}; +obj.foo = 'string'; +obj.lol; +obj.bar = undefined; +var k = obj.method1(0); +obj.bar1 = "42"; +obj.arrowFunc(0); diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTagOnObjectProperty2.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTagOnObjectProperty2.js new file mode 100644 index 0000000000..a2333e6b99 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypeTagOnObjectProperty2.js @@ -0,0 +1,48 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocTypeTagOnObjectProperty2.ts] //// + +//// [0.js] +// @ts-check +var lol; +const obj = { + /** @type {string|undefined} */ + bar: 42, + /** @type {function(number): number} */ + method1(n1) { + return "42"; + }, + /** @type {function(number): number} */ + method2: (n1) => "lol", + /** @type {function(number): number} */ + arrowFunc: (num="0") => num + 42, + /** @type {string} */ + lol +} +lol = "string" +/** @type {string} */ +var s = obj.method1(0); + +/** @type {string} */ +var s1 = obj.method2("0"); + +//// [0.js] +// @ts-check +var lol; +const obj = { + /** @type {string|undefined} */ + bar: 42, + /** @type {function(number): number} */ + method1(n1) { + return "42"; + }, + /** @type {function(number): number} */ + method2: (n1) => "lol", + /** @type {function(number): number} */ + arrowFunc: (num = "0") => num + 42, + /** @type {string} */ + lol +}; +lol = "string"; +/** @type {string} */ +var s = obj.method1(0); +/** @type {string} */ +var s1 = obj.method2("0"); diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefInParamTag1.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefInParamTag1.js new file mode 100644 index 0000000000..059f8faab4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefInParamTag1.js @@ -0,0 +1,88 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocTypedefInParamTag1.ts] //// + +//// [0.js] +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * @property {string} [z] + * @property {string} [w="hi"] + * + * @param {Opts} opts + */ +function foo(opts) { + opts.x; +} + +foo({x: 'abc'}); + +/** + * @typedef {Object} AnotherOpts + * @property anotherX {string} + * @property anotherY {string=} + * + * @param {AnotherOpts} opts + */ +function foo1(opts) { + opts.anotherX; +} + +foo1({anotherX: "world"}); + +/** + * @typedef {object} Opts1 + * @property {string} x + * @property {string=} y + * @property {string} [z] + * @property {string} [w="hi"] + * + * @param {Opts1} opts + */ +function foo2(opts) { + opts.x; +} +foo2({x: 'abc'}); + + +//// [0.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// @ts-check +/** + * @typedef {Object} Opts + * @property {string} x + * @property {string=} y + * @property {string} [z] + * @property {string} [w="hi"] + * + * @param {Opts} opts + */ +function foo(opts) { + opts.x; +} +foo({ x: 'abc' }); +/** + * @typedef {Object} AnotherOpts + * @property anotherX {string} + * @property anotherY {string=} + * + * @param {AnotherOpts} opts + */ +function foo1(opts) { + opts.anotherX; +} +foo1({ anotherX: "world" }); +/** + * @typedef {object} Opts1 + * @property {string} x + * @property {string=} y + * @property {string} [z] + * @property {string} [w="hi"] + * + * @param {Opts1} opts + */ +function foo2(opts) { + opts.x; +} +foo2({ x: 'abc' }); diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefInParamTag1.js.diff b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefInParamTag1.js.diff new file mode 100644 index 0000000000..bb54fa92fb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefInParamTag1.js.diff @@ -0,0 +1,11 @@ +--- old.checkJsdocTypedefInParamTag1.js ++++ new.checkJsdocTypedefInParamTag1.js +@@= skipped -45, +45 lines =@@ + + + //// [0.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // @ts-check + /** + * @typedef {Object} Opts \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js new file mode 100644 index 0000000000..89a04a9d59 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/jsdoc/checkJsdocTypedefOnlySourceFile.ts] //// + +//// [0.js] +// @ts-check + +var exports = {}; + +/** + * @typedef {string} + */ +exports.SomeName; + +/** @type {exports.SomeName} */ +const myString = 'str'; + + +//// [0.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// @ts-check +var exports = {}; +/** + * @typedef {string} + */ +exports.SomeName; +/** @type {exports.SomeName} */ +const myString = 'str'; diff --git a/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff new file mode 100644 index 0000000000..c8f32fd793 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/checkJsdocTypedefOnlySourceFile.js.diff @@ -0,0 +1,11 @@ +--- old.checkJsdocTypedefOnlySourceFile.js ++++ new.checkJsdocTypedefOnlySourceFile.js +@@= skipped -14, +14 lines =@@ + + + //// [0.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // @ts-check + var exports = {}; + /** \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js new file mode 100644 index 0000000000..239db68d84 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/salsa/commonJSAliasedExport.ts] //// + +//// [commonJSAliasedExport.js] +const donkey = (ast) => ast; + +function funky(declaration) { + return false; +} +module.exports = donkey; +module.exports.funky = funky; + +//// [bug43713.js] +const { funky } = require('./commonJSAliasedExport'); +/** @type {boolean} */ +var diddy +var diddy = funky(1) + + + +//// [commonJSAliasedExport.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const donkey = (ast) => ast; +function funky(declaration) { + return false; +} +export = donkey; +module.exports = donkey; +export var funky = funky; +module.exports.funky = funky; +//// [bug43713.js] +const { funky } = require('./commonJSAliasedExport'); +/** @type {boolean} */ +var diddy; +var diddy = funky(1); + + +//// [commonJSAliasedExport.d.ts] +export = donkey; +export var funky = funky; +//// [bug43713.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff new file mode 100644 index 0000000000..3d91b41bc0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSAliasedExport.js.diff @@ -0,0 +1,30 @@ +--- old.commonJSAliasedExport.js ++++ new.commonJSAliasedExport.js +@@= skipped -17, +17 lines =@@ + + + //// [commonJSAliasedExport.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const donkey = (ast) => ast; + function funky(declaration) { + return false; + } ++export = donkey; + module.exports = donkey; ++export var funky = funky; + module.exports.funky = funky; + //// [bug43713.js] + const { funky } = require('./commonJSAliasedExport'); +@@= skipped -15, +19 lines =@@ + + //// [commonJSAliasedExport.d.ts] + export = donkey; +-declare function donkey(ast: any): any; +-declare namespace donkey { +- export { funky }; +-} +-declare function funky(declaration: any): boolean; ++export var funky = funky; + //// [bug43713.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js new file mode 100644 index 0000000000..eb041a90a1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/salsa/commonJSImportClassTypeReference.ts] //// + +//// [main.js] +const { K } = require("./mod1"); +/** @param {K} k */ +function f(k) { + k.values() +} + +//// [mod1.js] +class K { + values() { + return new K() + } +} +exports.K = K; + + +//// [mod1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class K { + values() { + return new K(); + } +} +export var K = K; +exports.K = K; +//// [main.js] +"use strict"; +const { K } = require("./mod1"); +/** @param {K} k */ +function f(k) { + k.values(); +} + + +//// [mod1.d.ts] +export var K = K; +export {}; +//// [main.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff new file mode 100644 index 0000000000..9c2c311535 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportClassTypeReference.js.diff @@ -0,0 +1,27 @@ +--- old.commonJSImportClassTypeReference.js ++++ new.commonJSImportClassTypeReference.js +@@= skipped -17, +17 lines =@@ + + //// [mod1.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + class K { + values() { + return new K(); + } + } ++export var K = K; + exports.K = K; + //// [main.js] + "use strict"; +@@= skipped -16, +18 lines =@@ + + + //// [mod1.d.ts] +-export class K { +- values(): K; +-} ++export var K = K; ++export {}; + //// [main.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js new file mode 100644 index 0000000000..da4ecfbfd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js @@ -0,0 +1,43 @@ +//// [tests/cases/conformance/salsa/commonJSImportExportedClassExpression.ts] //// + +//// [main.js] +const { K } = require("./mod1"); +/** @param {K} k */ +function f(k) { + k.values() +} + +//// [mod1.js] +exports.K = class K { + values() { + } +}; + + +//// [mod1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var K = class K { + values() { + } +}; +exports.K = class K { + values() { + } +}; +//// [main.js] +"use strict"; +const { K } = require("./mod1"); +/** @param {K} k */ +function f(k) { + k.values(); +} + + +//// [mod1.d.ts] +export var K = class K { + values(): void; +}; +export {}; +//// [main.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff new file mode 100644 index 0000000000..259e8b473a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportExportedClassExpression.js.diff @@ -0,0 +1,26 @@ +--- old.commonJSImportExportedClassExpression.js ++++ new.commonJSImportExportedClassExpression.js +@@= skipped -15, +15 lines =@@ + + //// [mod1.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var K = class K { ++ values() { ++ } ++}; + exports.K = class K { + values() { + } +@@= skipped -14, +19 lines =@@ + + + //// [mod1.d.ts] +-export class K { ++export var K = class K { + values(): void; +-} ++}; ++export {}; + //// [main.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js new file mode 100644 index 0000000000..7334c82bde --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js @@ -0,0 +1,44 @@ +//// [tests/cases/conformance/salsa/commonJSImportNestedClassTypeReference.ts] //// + +//// [main.js] +const { K } = require("./mod1"); +/** @param {K} k */ +function f(k) { + k.values() +} + +//// [mod1.js] +var NS = {} +NS.K =class { + values() { + return new NS.K() + } +} +exports.K = NS.K; + + +//// [mod1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var NS = {}; +NS.K = class { + values() { + return new NS.K(); + } +}; +export var K = NS.K; +exports.K = NS.K; +//// [main.js] +"use strict"; +const { K } = require("./mod1"); +/** @param {K} k */ +function f(k) { + k.values(); +} + + +//// [mod1.d.ts] +export var K = NS.K; +export {}; +//// [main.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff new file mode 100644 index 0000000000..7951efe1d6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/commonJSImportNestedClassTypeReference.js.diff @@ -0,0 +1,30 @@ +--- old.commonJSImportNestedClassTypeReference.js ++++ new.commonJSImportNestedClassTypeReference.js +@@= skipped -18, +18 lines =@@ + + //// [mod1.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + var NS = {}; + NS.K = class { + values() { + return new NS.K(); + } + }; ++export var K = NS.K; + exports.K = NS.K; + //// [main.js] + "use strict"; +@@= skipped -17, +19 lines =@@ + + + //// [mod1.d.ts] +-export var K: { +- new (): { +- values(): /*elided*/ any; +- }; +-}; ++export var K = NS.K; ++export {}; + //// [main.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/emit(jsx=preserve).js b/testdata/baselines/reference/submodule/conformance/emit(jsx=preserve).js new file mode 100644 index 0000000000..46da467f6a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emit(jsx=preserve).js @@ -0,0 +1,121 @@ +//// [tests/cases/conformance/externalModules/rewriteRelativeImportExtensions/emit.ts] //// + +//// [globals.d.ts] +declare function require(module: string): any; + +//// [main.ts] +// Rewrite +import {} from "./foo.ts"; +import {} from "../foo.mts"; +import {} from "../../foo.cts"; +import {} from "./foo.tsx"; +import foo = require("./foo.ts"); +import "./foo.ts"; +export * from "./foo.ts"; +//Shim +import("./foo.ts"); +import("./foo.ts").then(() => {}); +function acceptAny(arg: any) {} +acceptAny(import("./foo.ts")); +import("./foo.ts", { with: { attr: "value" } }); +import("" + "./foo.ts"); +//// [js.js] +// Rewrite +import {} from "./foo.ts"; +import {} from "../foo.mts"; +import {} from "../../foo.cts"; +import {} from "./foo.tsx"; +import "./foo.ts"; +export * from "./foo.ts"; +// Shim +import("./foo.ts"); +import("./foo.ts", { with: { attr: "value" } }); +require("./foo.ts"); +{ + require("./foo.ts"); + require(getPath()); +} + +// No rewrite or shim +//// [no.ts] +import {} from "./foo.ts/foo.js"; +import {} from "foo.ts"; +import {} from "pkg/foo.ts"; +import {} from ".foo.ts"; +import {} from "./foo.d.ts"; +import {} from "./foo.d.mts"; +import {} from "./foo.d.css.ts"; +import {} from "#internal/foo.ts"; +import {} from "node:foo.ts"; +(require)("./foo.ts"); +import("node:path"); +require("node:path"); + +//// [lol.ts] +// Sad face https://github.com/microsoft/TypeScript/blob/6b04f5039429b9d412696fe2febe39ecc69ad365/src/testRunner/compilerRunner.ts#L207 + + +//// [main.js] +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +// Rewrite +import {} from "./foo.js"; +import {} from "../foo.mjs"; +import {} from "../../foo.cjs"; +import {} from "./foo.jsx"; +const foo = require("./foo.js"); +import "./foo.js"; +export * from "./foo.js"; +//Shim +import("./foo.js"); +import("./foo.js").then(() => { }); +function acceptAny(arg) { } +acceptAny(import("./foo.js")); +import("./foo.js", { with: { attr: "value" } }); +import(__rewriteRelativeImportExtension("" + "./foo.ts", true)); +//// [js.js] +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +// Rewrite +import {} from "./foo.js"; +import {} from "../foo.mjs"; +import {} from "../../foo.cjs"; +import {} from "./foo.jsx"; +import "./foo.js"; +export * from "./foo.js"; +// Shim +import("./foo.js"); +import("./foo.js", { with: { attr: "value" } }); +require("./foo.js"); +{ + require("./foo.js"); + require(__rewriteRelativeImportExtension(getPath(), true)); +} +// No rewrite or shim +//// [no.js] +import {} from "./foo.ts/foo.js"; +import {} from "foo.ts"; +import {} from "pkg/foo.ts"; +import {} from ".foo.ts"; +import {} from "./foo.d.ts"; +import {} from "./foo.d.mts"; +import {} from "./foo.d.css.ts"; +import {} from "#internal/foo.ts"; +import {} from "node:foo.ts"; +(require)("./foo.ts"); +import("node:path"); +require("node:path"); +//// [lol.js] +// Sad face https://github.com/microsoft/TypeScript/blob/6b04f5039429b9d412696fe2febe39ecc69ad365/src/testRunner/compilerRunner.ts#L207 diff --git a/testdata/baselines/reference/submodule/conformance/emit(jsx=react).js b/testdata/baselines/reference/submodule/conformance/emit(jsx=react).js new file mode 100644 index 0000000000..a3074c3e2f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emit(jsx=react).js @@ -0,0 +1,121 @@ +//// [tests/cases/conformance/externalModules/rewriteRelativeImportExtensions/emit.ts] //// + +//// [globals.d.ts] +declare function require(module: string): any; + +//// [main.ts] +// Rewrite +import {} from "./foo.ts"; +import {} from "../foo.mts"; +import {} from "../../foo.cts"; +import {} from "./foo.tsx"; +import foo = require("./foo.ts"); +import "./foo.ts"; +export * from "./foo.ts"; +//Shim +import("./foo.ts"); +import("./foo.ts").then(() => {}); +function acceptAny(arg: any) {} +acceptAny(import("./foo.ts")); +import("./foo.ts", { with: { attr: "value" } }); +import("" + "./foo.ts"); +//// [js.js] +// Rewrite +import {} from "./foo.ts"; +import {} from "../foo.mts"; +import {} from "../../foo.cts"; +import {} from "./foo.tsx"; +import "./foo.ts"; +export * from "./foo.ts"; +// Shim +import("./foo.ts"); +import("./foo.ts", { with: { attr: "value" } }); +require("./foo.ts"); +{ + require("./foo.ts"); + require(getPath()); +} + +// No rewrite or shim +//// [no.ts] +import {} from "./foo.ts/foo.js"; +import {} from "foo.ts"; +import {} from "pkg/foo.ts"; +import {} from ".foo.ts"; +import {} from "./foo.d.ts"; +import {} from "./foo.d.mts"; +import {} from "./foo.d.css.ts"; +import {} from "#internal/foo.ts"; +import {} from "node:foo.ts"; +(require)("./foo.ts"); +import("node:path"); +require("node:path"); + +//// [lol.ts] +// Sad face https://github.com/microsoft/TypeScript/blob/6b04f5039429b9d412696fe2febe39ecc69ad365/src/testRunner/compilerRunner.ts#L207 + + +//// [main.js] +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +// Rewrite +import {} from "./foo.js"; +import {} from "../foo.mjs"; +import {} from "../../foo.cjs"; +import {} from "./foo.js"; +const foo = require("./foo.js"); +import "./foo.js"; +export * from "./foo.js"; +//Shim +import("./foo.js"); +import("./foo.js").then(() => { }); +function acceptAny(arg) { } +acceptAny(import("./foo.js")); +import("./foo.js", { with: { attr: "value" } }); +import(__rewriteRelativeImportExtension("" + "./foo.ts")); +//// [js.js] +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +// Rewrite +import {} from "./foo.js"; +import {} from "../foo.mjs"; +import {} from "../../foo.cjs"; +import {} from "./foo.js"; +import "./foo.js"; +export * from "./foo.js"; +// Shim +import("./foo.js"); +import("./foo.js", { with: { attr: "value" } }); +require("./foo.js"); +{ + require("./foo.js"); + require(__rewriteRelativeImportExtension(getPath())); +} +// No rewrite or shim +//// [no.js] +import {} from "./foo.ts/foo.js"; +import {} from "foo.ts"; +import {} from "pkg/foo.ts"; +import {} from ".foo.ts"; +import {} from "./foo.d.ts"; +import {} from "./foo.d.mts"; +import {} from "./foo.d.css.ts"; +import {} from "#internal/foo.ts"; +import {} from "node:foo.ts"; +(require)("./foo.ts"); +import("node:path"); +require("node:path"); +//// [lol.js] +// Sad face https://github.com/microsoft/TypeScript/blob/6b04f5039429b9d412696fe2febe39ecc69ad365/src/testRunner/compilerRunner.ts#L207 diff --git a/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=commonjs).js b/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=commonjs).js new file mode 100644 index 0000000000..a539507bd5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=commonjs).js @@ -0,0 +1,45 @@ +//// [tests/cases/conformance/externalModules/rewriteRelativeImportExtensions/emitModuleCommonJS.ts] //// + +//// [a.js] +{ + require("" + "./foo.ts"); + import("" + "./foo.ts"); + require("./foo.ts"); + import("./foo.ts"); +} + +//// [b.ts] +{ + import("" + "./foo.ts"); + import("./foo.ts"); +} + + +//// [a.js] +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +{ + require(__rewriteRelativeImportExtension("" + "./foo.ts")); + Promise.resolve(`${__rewriteRelativeImportExtension("" + "./foo.ts")}`).then(s => require(s)); + require("./foo.js"); + Promise.resolve().then(() => require("./foo.js")); +} +//// [b.js] +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +{ + Promise.resolve(`${__rewriteRelativeImportExtension("" + "./foo.ts")}`).then(s => require(s)); + Promise.resolve().then(() => require("./foo.js")); +} diff --git a/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=nodenext).js new file mode 100644 index 0000000000..9911f4cbc8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=nodenext).js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/externalModules/rewriteRelativeImportExtensions/emitModuleCommonJS.ts] //// + +//// [a.js] +{ + require("" + "./foo.ts"); + import("" + "./foo.ts"); + require("./foo.ts"); + import("./foo.ts"); +} + +//// [b.ts] +{ + import("" + "./foo.ts"); + import("./foo.ts"); +} + + +//// [a.js] +"use strict"; +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +{ + require(__rewriteRelativeImportExtension("" + "./foo.ts")); + import(__rewriteRelativeImportExtension("" + "./foo.ts")); + require("./foo.js"); + import("./foo.js"); +} +//// [b.js] +"use strict"; +var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) { + if (typeof path === "string" && /^\.\.?\//.test(path)) { + return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { + return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); + }); + } + return path; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +{ + import(__rewriteRelativeImportExtension("" + "./foo.ts")); + import("./foo.js"); +} diff --git a/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=nodenext).js.diff new file mode 100644 index 0000000000..764495c4e8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/emitModuleCommonJS(module=nodenext).js.diff @@ -0,0 +1,10 @@ +--- old.emitModuleCommonJS(module=nodenext).js ++++ new.emitModuleCommonJS(module=nodenext).js +@@= skipped -24, +24 lines =@@ + } + return path; + }; ++Object.defineProperty(exports, "__esModule", { value: true }); + { + require(__rewriteRelativeImportExtension("" + "./foo.ts")); + import(__rewriteRelativeImportExtension("" + "./foo.ts")); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/expandoOnAlias.js b/testdata/baselines/reference/submodule/conformance/expandoOnAlias.js new file mode 100644 index 0000000000..71d0e58eaa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/expandoOnAlias.js @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/salsa/expandoOnAlias.ts] //// + +//// [vue.js] +export class Vue {} +export const config = { x: 0 }; + +//// [test.js] +import { Vue, config } from "./vue"; + +// Expando declarations aren't allowed on aliases. +Vue.config = {}; +new Vue(); + +// This is not an expando declaration; it's just a plain property assignment. +config.x = 1; + +// This is not an expando declaration; it works because non-strict JS allows +// loosey goosey assignment on objects. +config.y = {}; +config.x; +config.y; + + + + +//// [vue.d.ts] +export declare class Vue { +} +export declare const config: { + x: number; +}; +//// [test.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/expandoOnAlias.js.diff b/testdata/baselines/reference/submodule/conformance/expandoOnAlias.js.diff new file mode 100644 index 0000000000..c2a88f5c52 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/expandoOnAlias.js.diff @@ -0,0 +1,18 @@ +--- old.expandoOnAlias.js ++++ new.expandoOnAlias.js +@@= skipped -23, +23 lines =@@ + + + //// [vue.d.ts] +-export class Vue { +-} +-export namespace config { +- let x: number; +-} ++export declare class Vue { ++} ++export declare const config: { ++ x: number; ++}; + //// [test.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile01.js b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile01.js new file mode 100644 index 0000000000..7cd5e8b6d2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile01.js @@ -0,0 +1,9 @@ +//// [tests/cases/conformance/salsa/exportDefaultInJsFile01.ts] //// + +//// [myFile01.js] +export default "hello"; + +//// [myFile01.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = "hello"; diff --git a/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile01.js.diff b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile01.js.diff new file mode 100644 index 0000000000..38ae877992 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile01.js.diff @@ -0,0 +1,13 @@ +--- old.exportDefaultInJsFile01.js ++++ new.exportDefaultInJsFile01.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/conformance/salsa/exportDefaultInJsFile01.ts] //// ++ ++//// [myFile01.js] ++export default "hello"; ++ ++//// [myFile01.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.default = "hello"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile02.js b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile02.js new file mode 100644 index 0000000000..59129ebbbd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile02.js @@ -0,0 +1,7 @@ +//// [tests/cases/conformance/salsa/exportDefaultInJsFile02.ts] //// + +//// [myFile02.js] +export default "hello"; + +//// [myFile02.js] +export default "hello"; diff --git a/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile02.js.diff b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile02.js.diff new file mode 100644 index 0000000000..1c96a0bcc5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/exportDefaultInJsFile02.js.diff @@ -0,0 +1,11 @@ +--- old.exportDefaultInJsFile02.js ++++ new.exportDefaultInJsFile02.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/conformance/salsa/exportDefaultInJsFile02.ts] //// ++ ++//// [myFile02.js] ++export default "hello"; ++ ++//// [myFile02.js] ++export default "hello"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/exportNamespace_js.js b/testdata/baselines/reference/submodule/conformance/exportNamespace_js.js new file mode 100644 index 0000000000..5508138bfd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/exportNamespace_js.js @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/externalModules/typeOnly/exportNamespace_js.ts] //// + +//// [a.js] +export class A {} + +//// [b.js] +export type * from './a'; + +//// [c.js] +import { A } from './b'; +A; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +class A { +} +exports.A = A; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [c.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const b_1 = require("./b"); +b_1.A; + + +//// [a.d.ts] +export declare class A { +} +//// [b.d.ts] +export type * from './a'; +//// [c.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/exportNamespace_js.js.diff b/testdata/baselines/reference/submodule/conformance/exportNamespace_js.js.diff new file mode 100644 index 0000000000..2f3c34faac --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/exportNamespace_js.js.diff @@ -0,0 +1,21 @@ +--- old.exportNamespace_js.js ++++ new.exportNamespace_js.js +@@= skipped -23, +23 lines =@@ + //// [c.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var b_1 = require("./b"); +-A; ++const b_1 = require("./b"); ++b_1.A; + + + //// [a.d.ts] +-export class A { ++export declare class A { + } + //// [b.d.ts] +-export type * from "./a"; ++export type * from './a'; + //// [c.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/extendsTag2.js b/testdata/baselines/reference/submodule/conformance/extendsTag2.js new file mode 100644 index 0000000000..cc4ae15cae --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/extendsTag2.js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/jsdoc/extendsTag2.ts] //// + +//// [foo.js] +/** + * @constructor + */ +class A { + constructor() {} +} + +/** + * @extends {A} + */ + +/** + * @constructor + */ +class B extends A { + constructor() { + super(); + } +} + + +//// [foo.js] +/** + * @constructor + */ +class A { + constructor() { } +} +/** + * @extends {A} + */ +/** + * @constructor + */ +class B extends A { + constructor() { + super(); + } +} diff --git a/testdata/baselines/reference/submodule/conformance/extendsTag3.js b/testdata/baselines/reference/submodule/conformance/extendsTag3.js new file mode 100644 index 0000000000..68180aa621 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/extendsTag3.js @@ -0,0 +1,56 @@ +//// [tests/cases/conformance/jsdoc/extendsTag3.ts] //// + +//// [foo.js] +/** + * @constructor + */ +class A { + constructor() {} +} + +/** + * @extends {A} + * @constructor + */ +class B extends A { + constructor() { + super(); + } +} + +/** + * @extends { A } + * @constructor + */ +class C extends A { + constructor() { + super(); + } +} + + +//// [foo.js] +/** + * @constructor + */ +class A { + constructor() { } +} +/** + * @extends {A} + * @constructor + */ +class B extends A { + constructor() { + super(); + } +} +/** + * @extends { A } + * @constructor + */ +class C extends A { + constructor() { + super(); + } +} diff --git a/testdata/baselines/reference/submodule/conformance/extendsTag4.js b/testdata/baselines/reference/submodule/conformance/extendsTag4.js new file mode 100644 index 0000000000..1adcbb9ceb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/extendsTag4.js @@ -0,0 +1,25 @@ +//// [tests/cases/conformance/jsdoc/extendsTag4.ts] //// + +//// [foo.js] +/** + * @constructor + */ +class A { + constructor() {} +} + +/** + * @extends {A} + */ + + +//// [foo.js] +/** + * @constructor + */ +class A { + constructor() { } +} +/** + * @extends {A} + */ diff --git a/testdata/baselines/reference/submodule/conformance/extendsTagEmit.js b/testdata/baselines/reference/submodule/conformance/extendsTagEmit.js new file mode 100644 index 0000000000..e359eb0c83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/extendsTagEmit.js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/jsdoc/extendsTagEmit.ts] //// + +//// [super.js] +export class B { } + +//// [main.js] +import { B } from './super' +/** @extends {Mismatch} */ +class C extends B { } + + + +//// [super.js] +export class B { +} +//// [main.js] +import { B } from './super'; +/** @extends {Mismatch} */ +class C extends B { +} diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js new file mode 100644 index 0000000000..856ebcde69 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/importTag15.ts] //// + +//// [0.ts] +export interface I { } + +//// [1.js] +/** @import { I } from './0' with { type: "json" } */ +/** @import * as foo from './0' with { type: "json" } */ + +/** @param {I} a */ +function f(a) {} + + + + +//// [0.d.ts] +export interface I { +} +//// [1.d.ts] +import type { I } from './0'; +/** @import { I } from './0' with { type: "json" } */ +/** @import * as foo from './0' with { type: "json" } */ +/** @param {I} a */ +declare function f(a: I): void; diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff new file mode 100644 index 0000000000..66ad5dfade --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=es2015).js.diff @@ -0,0 +1,13 @@ +--- old.importTag15(module=es2015).js ++++ new.importTag15(module=es2015).js +@@= skipped -16, +16 lines =@@ + export interface I { + } + //// [1.d.ts] ++import type { I } from './0'; + /** @import { I } from './0' with { type: "json" } */ + /** @import * as foo from './0' with { type: "json" } */ + /** @param {I} a */ + declare function f(a: I): void; +-import type { I } from './0' with { type: "json" }; +-import type * as foo from './0'; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js new file mode 100644 index 0000000000..856ebcde69 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/importTag15.ts] //// + +//// [0.ts] +export interface I { } + +//// [1.js] +/** @import { I } from './0' with { type: "json" } */ +/** @import * as foo from './0' with { type: "json" } */ + +/** @param {I} a */ +function f(a) {} + + + + +//// [0.d.ts] +export interface I { +} +//// [1.d.ts] +import type { I } from './0'; +/** @import { I } from './0' with { type: "json" } */ +/** @import * as foo from './0' with { type: "json" } */ +/** @param {I} a */ +declare function f(a: I): void; diff --git a/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff new file mode 100644 index 0000000000..761ef7b0ca --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag15(module=esnext).js.diff @@ -0,0 +1,13 @@ +--- old.importTag15(module=esnext).js ++++ new.importTag15(module=esnext).js +@@= skipped -16, +16 lines =@@ + export interface I { + } + //// [1.d.ts] ++import type { I } from './0'; + /** @import { I } from './0' with { type: "json" } */ + /** @import * as foo from './0' with { type: "json" } */ + /** @param {I} a */ + declare function f(a: I): void; +-import type { I } from './0' with { type: "json" }; +-import type * as foo from './0'; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag16.js b/testdata/baselines/reference/submodule/conformance/importTag16.js new file mode 100644 index 0000000000..b086bf0a00 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag16.js @@ -0,0 +1,56 @@ +//// [tests/cases/conformance/jsdoc/importTag16.ts] //// + +//// [a.ts] +export default interface Foo {} +export interface I {} + +//// [b.js] +/** @import Foo, { I } from "./a" */ + +/** + * @param {Foo} a + * @param {I} b + */ +export function foo(a, b) {} + + + + +//// [a.d.ts] +export default interface Foo { +} +export interface I { +} +//// [b.d.ts] +import type Foo, { I } from "./a"; +/** @import Foo, { I } from "./a" */ +/** + * @param {Foo} a + * @param {I} b + */ +export declare function foo(a: Foo, b: I): void; + + +//// [DtsFileErrors] + + +b.d.ts(1,8): error TS1363: A type-only import can specify a default import or named bindings, but not both. + + +==== a.d.ts (0 errors) ==== + export default interface Foo { + } + export interface I { + } + +==== b.d.ts (1 errors) ==== + import type Foo, { I } from "./a"; + ~~~~~~~~~~~~~~~ +!!! error TS1363: A type-only import can specify a default import or named bindings, but not both. + /** @import Foo, { I } from "./a" */ + /** + * @param {Foo} a + * @param {I} b + */ + export declare function foo(a: Foo, b: I): void; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag16.js.diff b/testdata/baselines/reference/submodule/conformance/importTag16.js.diff new file mode 100644 index 0000000000..72602ad3cf --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag16.js.diff @@ -0,0 +1,41 @@ +--- old.importTag16.js ++++ new.importTag16.js +@@= skipped -21, +21 lines =@@ + export interface I { + } + //// [b.d.ts] ++import type Foo, { I } from "./a"; + /** @import Foo, { I } from "./a" */ + /** + * @param {Foo} a + * @param {I} b + */ +-export function foo(a: Foo, b: I): void; +-import type Foo from "./a"; +-import type { I } from "./a"; ++export declare function foo(a: Foo, b: I): void; ++ ++ ++//// [DtsFileErrors] ++ ++ ++b.d.ts(1,8): error TS1363: A type-only import can specify a default import or named bindings, but not both. ++ ++ ++==== a.d.ts (0 errors) ==== ++ export default interface Foo { ++ } ++ export interface I { ++ } ++ ++==== b.d.ts (1 errors) ==== ++ import type Foo, { I } from "./a"; ++ ~~~~~~~~~~~~~~~ ++!!! error TS1363: A type-only import can specify a default import or named bindings, but not both. ++ /** @import Foo, { I } from "./a" */ ++ /** ++ * @param {Foo} a ++ * @param {I} b ++ */ ++ export declare function foo(a: Foo, b: I): void; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag18.js b/testdata/baselines/reference/submodule/conformance/importTag18.js new file mode 100644 index 0000000000..b249671c46 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag18.js @@ -0,0 +1,34 @@ +//// [tests/cases/conformance/jsdoc/importTag18.ts] //// + +//// [a.ts] +export interface Foo {} + +//// [b.js] +/** + * @import { + * Foo + * } from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} + + + + +//// [a.d.ts] +export interface Foo { +} +//// [b.d.ts] +import type { Foo } from "./a"; +/** + * @import { + * Foo + * } from "./a" + */ +/** + * @param {Foo} a + */ +export declare function foo(a: Foo): void; diff --git a/testdata/baselines/reference/submodule/conformance/importTag18.js.diff b/testdata/baselines/reference/submodule/conformance/importTag18.js.diff new file mode 100644 index 0000000000..473045a560 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag18.js.diff @@ -0,0 +1,17 @@ +--- old.importTag18.js ++++ new.importTag18.js +@@= skipped -21, +21 lines =@@ + export interface Foo { + } + //// [b.d.ts] ++import type { Foo } from "./a"; + /** + * @import { + * Foo +@@= skipped -8, +9 lines =@@ + /** + * @param {Foo} a + */ +-export function foo(a: Foo): void; +-import type { Foo } from "./a"; ++export declare function foo(a: Foo): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag19.js b/testdata/baselines/reference/submodule/conformance/importTag19.js new file mode 100644 index 0000000000..cb2b97586d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag19.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/importTag19.ts] //// + +//// [a.ts] +export interface Foo {} + +//// [b.js] +/** + * @import { Foo } + * from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} + + + + +//// [a.d.ts] +export interface Foo { +} +//// [b.d.ts] +import type { Foo } from "./a"; +/** + * @import { Foo } + * from "./a" + */ +/** + * @param {Foo} a + */ +export declare function foo(a: Foo): void; diff --git a/testdata/baselines/reference/submodule/conformance/importTag19.js.diff b/testdata/baselines/reference/submodule/conformance/importTag19.js.diff new file mode 100644 index 0000000000..68d5444ae9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag19.js.diff @@ -0,0 +1,17 @@ +--- old.importTag19.js ++++ new.importTag19.js +@@= skipped -20, +20 lines =@@ + export interface Foo { + } + //// [b.d.ts] ++import type { Foo } from "./a"; + /** + * @import { Foo } + * from "./a" +@@= skipped -7, +8 lines =@@ + /** + * @param {Foo} a + */ +-export function foo(a: Foo): void; +-import type { Foo } from "./a"; ++export declare function foo(a: Foo): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag20.js b/testdata/baselines/reference/submodule/conformance/importTag20.js new file mode 100644 index 0000000000..650725ac77 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag20.js @@ -0,0 +1,34 @@ +//// [tests/cases/conformance/jsdoc/importTag20.ts] //// + +//// [a.ts] +export interface Foo {} + +//// [b.js] +/** + * @import + * { Foo + * } from './a' + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} + + + + +//// [a.d.ts] +export interface Foo { +} +//// [b.d.ts] +import type { Foo } from './a'; +/** + * @import + * { Foo + * } from './a' + */ +/** + * @param {Foo} a + */ +export declare function foo(a: Foo): void; diff --git a/testdata/baselines/reference/submodule/conformance/importTag20.js.diff b/testdata/baselines/reference/submodule/conformance/importTag20.js.diff new file mode 100644 index 0000000000..3553717498 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag20.js.diff @@ -0,0 +1,17 @@ +--- old.importTag20.js ++++ new.importTag20.js +@@= skipped -21, +21 lines =@@ + export interface Foo { + } + //// [b.d.ts] ++import type { Foo } from './a'; + /** + * @import + * { Foo +@@= skipped -8, +9 lines =@@ + /** + * @param {Foo} a + */ +-export function foo(a: Foo): void; +-import type { Foo } from './a'; ++export declare function foo(a: Foo): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTag5.js b/testdata/baselines/reference/submodule/conformance/importTag5.js new file mode 100644 index 0000000000..282eb62aa9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag5.js @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/jsdoc/importTag5.ts] //// + +//// [types.ts] +export interface Foo { + a: number; +} + +//// [foo.js] +/** + * @import { Foo } from "./types" + */ + +/** + * @param { Foo } foo + */ +function f(foo) {} + + + + +//// [types.d.ts] +export interface Foo { + a: number; +} +//// [foo.d.ts] +import type { Foo } from "./types"; +/** + * @import { Foo } from "./types" + */ +/** + * @param { Foo } foo + */ +declare function f(foo: Foo): void; diff --git a/testdata/baselines/reference/submodule/conformance/importTag5.js.diff b/testdata/baselines/reference/submodule/conformance/importTag5.js.diff new file mode 100644 index 0000000000..fe5d43d4e0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTag5.js.diff @@ -0,0 +1,15 @@ +--- old.importTag5.js ++++ new.importTag5.js +@@= skipped -22, +22 lines =@@ + a: number; + } + //// [foo.d.ts] ++import type { Foo } from "./types"; + /** + * @import { Foo } from "./types" + */ +@@= skipped -7, +8 lines =@@ + * @param { Foo } foo + */ + declare function f(foo: Foo): void; +-import type { Foo } from "./types"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/importTypeInJSDoc.js b/testdata/baselines/reference/submodule/conformance/importTypeInJSDoc.js new file mode 100644 index 0000000000..4a2d016979 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTypeInJSDoc.js @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/types/import/importTypeInJSDoc.ts] //// + +//// [externs.d.ts] +declare namespace MyClass { + export interface Bar { + doer: (x: string) => void; + } +} +declare class MyClass { + field: string; + static Bar: (x: string, y?: number) => void; + constructor(x: MyClass.Bar); +} +declare global { + const Foo: typeof MyClass; +} +export = MyClass; +//// [index.js] +/** + * @typedef {import("./externs")} Foo + */ + +let a = /** @type {Foo} */(/** @type {*} */(undefined)); +a = new Foo({doer: Foo.Bar}); +const q = /** @type {import("./externs").Bar} */({ doer: q => q }); +const r = /** @type {typeof import("./externs").Bar} */(r => r); + + +//// [index.js] +/** + * @typedef {import("./externs")} Foo + */ +let a = /** @type {Foo} */ undefined; +a = new Foo({ doer: Foo.Bar }); +const q = /** @type {import("./externs").Bar} */ { doer: q => q }; +const r = /** @type {typeof import("./externs").Bar} */ r => r; +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/importTypeInJSDoc.js.diff b/testdata/baselines/reference/submodule/conformance/importTypeInJSDoc.js.diff new file mode 100644 index 0000000000..3a0756b51b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/importTypeInJSDoc.js.diff @@ -0,0 +1,14 @@ +--- old.importTypeInJSDoc.js ++++ new.importTypeInJSDoc.js +@@= skipped -29, +29 lines =@@ + /** + * @typedef {import("./externs")} Foo + */ +-let a = /** @type {Foo} */ ( /** @type {*} */(undefined)); ++let a = /** @type {Foo} */ undefined; + a = new Foo({ doer: Foo.Bar }); +-const q = /** @type {import("./externs").Bar} */ ({ doer: q => q }); +-const r = /** @type {typeof import("./externs").Bar} */ (r => r); ++const q = /** @type {import("./externs").Bar} */ { doer: q => q }; ++const r = /** @type {typeof import("./externs").Bar} */ r => r; ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/instantiateTemplateTagTypeParameterOnVariableStatement.js b/testdata/baselines/reference/submodule/conformance/instantiateTemplateTagTypeParameterOnVariableStatement.js new file mode 100644 index 0000000000..4b61359719 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/instantiateTemplateTagTypeParameterOnVariableStatement.js @@ -0,0 +1,30 @@ +//// [tests/cases/conformance/jsdoc/instantiateTemplateTagTypeParameterOnVariableStatement.ts] //// + +//// [instantiateTemplateTagTypeParameterOnVariableStatement.js] +/** + * @template T + * @param {T} a + * @returns {(b: T) => T} + */ +const seq = a => b => b; + +const text1 = "hello"; +const text2 = "world"; + +/** @type {string} */ +var text3 = seq(text1)(text2); + + + + +//// [instantiateTemplateTagTypeParameterOnVariableStatement.d.ts] +/** + * @template T + * @param {T} a + * @returns {(b: T) => T} + */ +declare const seq: (a: T) => (b: T) => T; +declare const text1 = "hello"; +declare const text2 = "world"; +/** @type {string} */ +declare var text3: string; diff --git a/testdata/baselines/reference/submodule/conformance/instantiateTemplateTagTypeParameterOnVariableStatement.js.diff b/testdata/baselines/reference/submodule/conformance/instantiateTemplateTagTypeParameterOnVariableStatement.js.diff new file mode 100644 index 0000000000..6398002b9c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/instantiateTemplateTagTypeParameterOnVariableStatement.js.diff @@ -0,0 +1,14 @@ +--- old.instantiateTemplateTagTypeParameterOnVariableStatement.js ++++ new.instantiateTemplateTagTypeParameterOnVariableStatement.js +@@= skipped -22, +22 lines =@@ + * @param {T} a + * @returns {(b: T) => T} + */ +-declare function seq(a: T): (b: T) => T; +-declare const text1: "hello"; +-declare const text2: "world"; ++declare const seq: (a: T) => (b: T) => T; ++declare const text1 = "hello"; ++declare const text2 = "world"; + /** @type {string} */ + declare var text3: string; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassAccessor.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassAccessor.js new file mode 100644 index 0000000000..147058c104 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassAccessor.js @@ -0,0 +1,88 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassAccessor.ts] //// + +//// [supplement.d.ts] +export { }; +declare module "./argument.js" { + interface Argument { + idlType: any; + default: null; + } +} +//// [base.js] +export class Base { + constructor() { } + + toJSON() { + const json = { type: undefined, name: undefined, inheritance: undefined }; + return json; + } +} +//// [argument.js] +import { Base } from "./base.js"; +export class Argument extends Base { + /** + * @param {*} tokeniser + */ + static parse(tokeniser) { + return; + } + + get type() { + return "argument"; + } + + /** + * @param {*} defs + */ + *validate(defs) { } +} + +//// [base.js] +export class Base { + constructor() { } + toJSON() { + const json = { type: undefined, name: undefined, inheritance: undefined }; + return json; + } +} +//// [argument.js] +import { Base } from "./base.js"; +export class Argument extends Base { + /** + * @param {*} tokeniser + */ + static parse(tokeniser) { + return; + } + get type() { + return "argument"; + } + /** + * @param {*} defs + */ + *validate(defs) { } +} + + +//// [base.d.ts] +export declare class Base { + constructor(); + toJSON(): { + type: any; + name: any; + inheritance: any; + }; +} +//// [argument.d.ts] +import { Base } from "./base.js"; +export declare class Argument extends Base { + /** + * @param {*} tokeniser + */ + static parse(tokeniser: any): void; + get type(): string; + /** + * @param {*} defs + */ + validate(defs: any): Generator; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassAccessor.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassAccessor.js.diff new file mode 100644 index 0000000000..6f0ce085de --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassAccessor.js.diff @@ -0,0 +1,32 @@ +--- old.jsDeclarationsClassAccessor.js ++++ new.jsDeclarationsClassAccessor.js +@@= skipped -64, +64 lines =@@ + + + //// [base.d.ts] +-export class Base { ++export declare class Base { ++ constructor(); + toJSON(): { + type: any; + name: any; +@@= skipped -8, +9 lines =@@ + }; + } + //// [argument.d.ts] +-export class Argument extends Base { ++import { Base } from "./base.js"; ++export declare class Argument extends Base { + /** + * @param {*} tokeniser + */ + static parse(tokeniser: any): void; +- idlType: any; +- default: null; + get type(): string; + /** + * @param {*} defs + */ + validate(defs: any): Generator; + } +-import { Base } from "./base.js"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js new file mode 100644 index 0000000000..873919cc36 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js @@ -0,0 +1,41 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassExtendsVisibility.ts] //// + +//// [bar.js] +class Bar {} +module.exports = Bar; +//// [cls.js] +const Bar = require("./bar"); +const Strings = { + a: "A", + b: "B" +}; +class Foo extends Bar {} +module.exports = Foo; +module.exports.Strings = Strings; + +//// [bar.js] +class Bar { +} +export = Bar; +module.exports = Bar; +//// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Bar = require("./bar"); +const Strings = { + a: "A", + b: "B" +}; +class Foo extends Bar { +} +export = Foo; +module.exports = Foo; +export var Strings = Strings; +module.exports.Strings = Strings; + + +//// [bar.d.ts] +export = Bar; +//// [cls.d.ts] +export = Foo; +export var Strings = Strings; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff new file mode 100644 index 0000000000..8d3685964a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassExtendsVisibility.js.diff @@ -0,0 +1,41 @@ +--- old.jsDeclarationsClassExtendsVisibility.js ++++ new.jsDeclarationsClassExtendsVisibility.js +@@= skipped -15, +15 lines =@@ + //// [bar.js] + class Bar { + } ++export = Bar; + module.exports = Bar; + //// [cls.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const Bar = require("./bar"); + const Strings = { + a: "A", +@@= skipped -9, +12 lines =@@ + }; + class Foo extends Bar { + } ++export = Foo; + module.exports = Foo; ++export var Strings = Strings; + module.exports.Strings = Strings; + + + //// [bar.d.ts] + export = Bar; +-declare class Bar { +-} + //// [cls.d.ts] + export = Foo; +-declare class Foo extends Bar { +-} +-declare namespace Foo { +- export { Strings }; +-} +-import Bar = require("./bar"); +-declare namespace Strings { +- let a: string; +- let b: string; +-} ++export var Strings = Strings; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassImplementsGenericsSerialization.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassImplementsGenericsSerialization.js new file mode 100644 index 0000000000..be704163a5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassImplementsGenericsSerialization.js @@ -0,0 +1,71 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassImplementsGenericsSerialization.ts] //// + +//// [interface.ts] +export interface Encoder { + encode(value: T): Uint8Array +} +//// [lib.js] +/** + * @template T + * @implements {IEncoder} + */ +export class Encoder { + /** + * @param {T} value + */ + encode(value) { + return new Uint8Array(0) + } +} + + +/** + * @template T + * @typedef {import('./interface').Encoder} IEncoder + */ + +//// [interface.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [lib.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Encoder = void 0; +/** + * @template T + * @implements {IEncoder} + */ +class Encoder { + /** + * @param {T} value + */ + encode(value) { + return new Uint8Array(0); + } +} +exports.Encoder = Encoder; +/** + * @template T + * @typedef {import('./interface').Encoder} IEncoder + */ + + +//// [interface.d.ts] +export interface Encoder { + encode(value: T): Uint8Array; +} +//// [lib.d.ts] +/** + * @template T + * @implements {IEncoder} + */ +export declare class Encoder implements IEncoder { + /** + * @param {T} value + */ + encode(value: T): Uint8Array; +} +/** + * @template T + * @typedef {import('./interface').Encoder} IEncoder + */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassImplementsGenericsSerialization.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassImplementsGenericsSerialization.js.diff new file mode 100644 index 0000000000..e0bb03baef --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassImplementsGenericsSerialization.js.diff @@ -0,0 +1,18 @@ +--- old.jsDeclarationsClassImplementsGenericsSerialization.js ++++ new.jsDeclarationsClassImplementsGenericsSerialization.js +@@= skipped -58, +58 lines =@@ + * @template T + * @implements {IEncoder} + */ +-export class Encoder implements IEncoder { ++export declare class Encoder implements IEncoder { + /** + * @param {T} value + */ + encode(value: T): Uint8Array; + } +-export type IEncoder = import("./interface").Encoder; ++/** ++ * @template T ++ * @typedef {import('./interface').Encoder} IEncoder ++ */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLeadingOptional.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLeadingOptional.js new file mode 100644 index 0000000000..e02f2f980e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLeadingOptional.js @@ -0,0 +1,25 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassLeadingOptional.ts] //// + +//// [bar.js] +export class Z { + f(x = 1, y) { + return [x, y]; + } +} + +//// [bar.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Z = void 0; +class Z { + f(x = 1, y) { + return [x, y]; + } +} +exports.Z = Z; + + +//// [bar.d.ts] +export declare class Z { + f(x: number, y: any): any[]; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLeadingOptional.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLeadingOptional.js.diff new file mode 100644 index 0000000000..5548e7963e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLeadingOptional.js.diff @@ -0,0 +1,10 @@ +--- old.jsDeclarationsClassLeadingOptional.js ++++ new.jsDeclarationsClassLeadingOptional.js +@@= skipped -19, +19 lines =@@ + + + //// [bar.d.ts] +-export class Z { ++export declare class Z { + f(x: number, y: any): any[]; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLikeHeuristic.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLikeHeuristic.js new file mode 100644 index 0000000000..a8f92ae69c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLikeHeuristic.js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassLikeHeuristic.ts] //// + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/35801 +let A; +A = {}; +A.prototype.b = {}; + +//// [index.js] +// https://github.com/microsoft/TypeScript/issues/35801 +let A; +A = {}; +A.prototype.b = {}; + + +//// [index.d.ts] +// https://github.com/microsoft/TypeScript/issues/35801 +declare let A: any; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLikeHeuristic.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLikeHeuristic.js.diff new file mode 100644 index 0000000000..cd9f2058e4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassLikeHeuristic.js.diff @@ -0,0 +1,12 @@ +--- old.jsDeclarationsClassLikeHeuristic.js ++++ new.jsDeclarationsClassLikeHeuristic.js +@@= skipped -13, +13 lines =@@ + + + //// [index.d.ts] +-declare class A { +- private constructor(); +- b: {}; +-} ++// https://github.com/microsoft/TypeScript/issues/35801 ++declare let A: any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassMethod.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassMethod.js new file mode 100644 index 0000000000..291c26285d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassMethod.js @@ -0,0 +1,140 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassMethod.ts] //// + +//// [jsDeclarationsClassMethod.js] +function C1() { + /** + * A comment prop + * @param {number} x + * @param {number} y + * @returns {number} + */ + this.prop = function (x, y) { + return x + y; + } +} + +/** + * A comment method + * @param {number} x + * @param {number} y + * @returns {number} + */ +C1.prototype.method = function (x, y) { + return x + y; +} + +/** + * A comment staticProp + * @param {number} x + * @param {number} y + * @returns {number} + */ +C1.staticProp = function (x, y) { + return x + y; +} + +class C2 { + /** + * A comment method1 + * @param {number} x + * @param {number} y + * @returns {number} + */ + method1(x, y) { + return x + y; + } +} + +/** + * A comment method2 + * @param {number} x + * @param {number} y + * @returns {number} + */ +C2.prototype.method2 = function (x, y) { + return x + y; +} + +/** + * A comment staticProp + * @param {number} x + * @param {number} y + * @returns {number} + */ +C2.staticProp = function (x, y) { + return x + y; +} + + +//// [jsDeclarationsClassMethod.js] +function C1() { + /** + * A comment prop + * @param {number} x + * @param {number} y + * @returns {number} + */ + this.prop = function (x, y) { + return x + y; + }; +} +/** + * A comment method + * @param {number} x + * @param {number} y + * @returns {number} + */ +C1.prototype.method = function (x, y) { + return x + y; +}; +/** + * A comment staticProp + * @param {number} x + * @param {number} y + * @returns {number} + */ +C1.staticProp = function (x, y) { + return x + y; +}; +class C2 { + /** + * A comment method1 + * @param {number} x + * @param {number} y + * @returns {number} + */ + method1(x, y) { + return x + y; + } +} +/** + * A comment method2 + * @param {number} x + * @param {number} y + * @returns {number} + */ +C2.prototype.method2 = function (x, y) { + return x + y; +}; +/** + * A comment staticProp + * @param {number} x + * @param {number} y + * @returns {number} + */ +C2.staticProp = function (x, y) { + return x + y; +}; + + +//// [jsDeclarationsClassMethod.d.ts] +declare function C1(): void; +declare class C2 { + /** + * A comment method1 + * @param {number} x + * @param {number} y + * @returns {number} + */ + method1(x: number, y: number): number; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassMethod.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassMethod.js.diff new file mode 100644 index 0000000000..1520c1ddf2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassMethod.js.diff @@ -0,0 +1,55 @@ +--- old.jsDeclarationsClassMethod.js ++++ new.jsDeclarationsClassMethod.js +@@= skipped -128, +128 lines =@@ + + //// [jsDeclarationsClassMethod.d.ts] + declare function C1(): void; +-declare class C1 { +- /** +- * A comment prop +- * @param {number} x +- * @param {number} y +- * @returns {number} +- */ +- prop: (x: number, y: number) => number; +- /** +- * A comment method +- * @param {number} x +- * @param {number} y +- * @returns {number} +- */ +- method(x: number, y: number): number; +-} +-declare namespace C1 { +- /** +- * A comment staticProp +- * @param {number} x +- * @param {number} y +- * @returns {number} +- */ +- function staticProp(x: number, y: number): number; +-} + declare class C2 { + /** + * A comment method1 +@@= skipped -33, +8 lines =@@ + * @returns {number} + */ + method1(x: number, y: number): number; +- /** +- * A comment method2 +- * @param {number} x +- * @param {number} y +- * @returns {number} +- */ +- method2(x: number, y: number): number; +-} +-declare namespace C2 { +- /** +- * A comment staticProp +- * @param {number} x +- * @param {number} y +- * @returns {number} +- */ +- function staticProp(x: number, y: number): number; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js new file mode 100644 index 0000000000..1aab631323 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js @@ -0,0 +1,61 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassStatic.ts] //// + +//// [source.js] +class Handler { + static get OPTIONS() { + return 1; + } + + process() { + } +} +Handler.statische = function() { } +const Strings = { + a: "A", + b: "B" +} + +module.exports = Handler; +module.exports.Strings = Strings + +/** + * @typedef {Object} HandlerOptions + * @property {String} name + * Should be able to export a type alias at the same time. + */ + + +//// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Handler { + static get OPTIONS() { + return 1; + } + process() { + } +} +Handler.statische = function () { }; +const Strings = { + a: "A", + b: "B" +}; +export = Handler; +module.exports = Handler; +export var Strings = Strings; +module.exports.Strings = Strings; +/** + * @typedef {Object} HandlerOptions + * @property {String} name + * Should be able to export a type alias at the same time. + */ + + +//// [source.d.ts] +export = Handler; +export var Strings = Strings; +/** + * @typedef {Object} HandlerOptions + * @property {String} name + * Should be able to export a type alias at the same time. + */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff new file mode 100644 index 0000000000..40f0a73c85 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic.js.diff @@ -0,0 +1,49 @@ +--- old.jsDeclarationsClassStatic.js ++++ new.jsDeclarationsClassStatic.js +@@= skipped -25, +25 lines =@@ + + + //// [source.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + class Handler { + static get OPTIONS() { + return 1; +@@= skipped -12, +14 lines =@@ + a: "A", + b: "B" + }; ++export = Handler; + module.exports = Handler; ++export var Strings = Strings; + module.exports.Strings = Strings; + /** + * @typedef {Object} HandlerOptions +@@= skipped -11, +13 lines =@@ + + //// [source.d.ts] + export = Handler; +-declare class Handler { +- static get OPTIONS(): number; +- process(): void; +-} +-declare namespace Handler { +- export { statische, Strings, HandlerOptions }; +-} +-declare function statische(): void; +-declare namespace Strings { +- let a: string; +- let b: string; +-} +-type HandlerOptions = { +- /** +- * Should be able to export a type alias at the same time. +- */ +- name: string; +-}; ++export var Strings = Strings; ++/** ++ * @typedef {Object} HandlerOptions ++ * @property {String} name ++ * Should be able to export a type alias at the same time. ++ */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic2.js new file mode 100644 index 0000000000..96bb98ab89 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic2.js @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassStatic2.ts] //// + +//// [Foo.js] +class Base { + static foo = ""; +} +export class Foo extends Base {} +Foo.foo = "foo"; + +//// [Bar.ts] +import { Foo } from "./Foo.js"; + +class Bar extends Foo {} +Bar.foo = "foo"; + + + + +//// [Foo.d.ts] +declare class Base { + static foo: string; +} +export declare class Foo extends Base { +} +export {}; +//// [Bar.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic2.js.diff new file mode 100644 index 0000000000..f0e6cd5301 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStatic2.js.diff @@ -0,0 +1,18 @@ +--- old.jsDeclarationsClassStatic2.js ++++ new.jsDeclarationsClassStatic2.js +@@= skipped -16, +16 lines =@@ + + + //// [Foo.d.ts] +-export class Foo extends Base { +-} +-export namespace Foo { +- let foo: string; +-} + declare class Base { + static foo: string; ++} ++export declare class Foo extends Base { + } + export {}; + //// [Bar.d.ts] \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStaticMethodAugmentation.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStaticMethodAugmentation.js new file mode 100644 index 0000000000..364a14e58c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStaticMethodAugmentation.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassStaticMethodAugmentation.ts] //// + +//// [source.js] +export class Clazz { + static method() { } +} + +Clazz.method.prop = 5; + +//// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Clazz = void 0; +class Clazz { + static method() { } +} +exports.Clazz = Clazz; +Clazz.method.prop = 5; + + +//// [source.d.ts] +export declare class Clazz { + static method(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStaticMethodAugmentation.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStaticMethodAugmentation.js.diff new file mode 100644 index 0000000000..b679adb7ef --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassStaticMethodAugmentation.js.diff @@ -0,0 +1,16 @@ +--- old.jsDeclarationsClassStaticMethodAugmentation.js ++++ new.jsDeclarationsClassStaticMethodAugmentation.js +@@= skipped -18, +18 lines =@@ + + + //// [source.d.ts] +-export class Clazz { +-} +-export namespace Clazz { +- function method(): void; +- namespace method { +- let prop: number; +- } ++export declare class Clazz { ++ static method(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClasses.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClasses.js new file mode 100644 index 0000000000..7564b45da1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClasses.js @@ -0,0 +1,533 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClasses.ts] //// + +//// [index.js] +export class A {} + +export class B { + static cat = "cat"; +} + +export class C { + static Cls = class {} +} + +export class D { + /** + * @param {number} a + * @param {number} b + */ + constructor(a, b) {} +} + +/** + * @template T,U + */ +export class E { + /** + * @type {T & U} + */ + field; + + // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {T & U} + * @readonly + */ + readonlyField; + + initializedField = 12; + + /** + * @return {U} + */ + get f1() { return /** @type {*} */(null); } + + /** + * @param {U} _p + */ + set f1(_p) {} + + /** + * @return {U} + */ + get f2() { return /** @type {*} */(null); } + + /** + * @param {U} _p + */ + set f3(_p) {} + + /** + * @param {T} a + * @param {U} b + */ + constructor(a, b) {} + + + /** + * @type {string} + */ + static staticField; + + // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {string} + * @readonly + */ + static staticReadonlyField; + + static staticInitializedField = 12; + + /** + * @return {string} + */ + static get s1() { return ""; } + + /** + * @param {string} _p + */ + static set s1(_p) {} + + /** + * @return {string} + */ + static get s2() { return ""; } + + /** + * @param {string} _p + */ + static set s3(_p) {} +} + +/** + * @template T,U + */ +export class F { + /** + * @type {T & U} + */ + field; + /** + * @param {T} a + * @param {U} b + */ + constructor(a, b) {} + + /** + * @template A,B + * @param {A} a + * @param {B} b + */ + static create(a, b) { return new F(a, b); } +} + +class G {} + +export { G }; + +class HH {} + +export { HH as H }; + +export class I {} +export { I as II }; + +export { J as JJ }; +export class J {} + + +export class K { + constructor() { + this.p1 = 12; + this.p2 = "ok"; + } + + method() { + return this.p1; + } +} + +export class L extends K {} + +export class M extends null { + constructor() { + this.prop = 12; + } +} + + +/** + * @template T + */ +export class N extends L { + /** + * @param {T} param + */ + constructor(param) { + super(); + this.another = param; + } +} + +/** + * @template U + * @extends {N} + */ +export class O extends N { + /** + * @param {U} param + */ + constructor(param) { + super(param); + this.another2 = param; + } +} + +var x = /** @type {*} */(null); + +export class VariableBase extends x {} + +export class HasStatics { + static staticMethod() {} +} + +export class ExtendsStatics extends HasStatics { + static also() {} +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ExtendsStatics = exports.HasStatics = exports.VariableBase = exports.O = exports.N = exports.M = exports.L = exports.K = exports.J = exports.JJ = exports.II = exports.I = exports.H = exports.G = exports.F = exports.E = exports.D = exports.C = exports.B = exports.A = void 0; +class A { +} +exports.A = A; +class B { + static cat = "cat"; +} +exports.B = B; +class C { + static Cls = class { + }; +} +exports.C = C; +class D { + /** + * @param {number} a + * @param {number} b + */ + constructor(a, b) { } +} +exports.D = D; +/** + * @template T,U + */ +class E { + /** + * @type {T & U} + */ + field; + // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {T & U} + * @readonly + */ + readonlyField; + initializedField = 12; + /** + * @return {U} + */ + get f1() { return /** @type {*} */ null; } + /** + * @param {U} _p + */ + set f1(_p) { } + /** + * @return {U} + */ + get f2() { return /** @type {*} */ null; } + /** + * @param {U} _p + */ + set f3(_p) { } + /** + * @param {T} a + * @param {U} b + */ + constructor(a, b) { } + /** + * @type {string} + */ + static staticField; + // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {string} + * @readonly + */ + static staticReadonlyField; + static staticInitializedField = 12; + /** + * @return {string} + */ + static get s1() { return ""; } + /** + * @param {string} _p + */ + static set s1(_p) { } + /** + * @return {string} + */ + static get s2() { return ""; } + /** + * @param {string} _p + */ + static set s3(_p) { } +} +exports.E = E; +/** + * @template T,U + */ +class F { + /** + * @type {T & U} + */ + field; + /** + * @param {T} a + * @param {U} b + */ + constructor(a, b) { } + /** + * @template A,B + * @param {A} a + * @param {B} b + */ + static create(a, b) { return new F(a, b); } +} +exports.F = F; +class G { +} +exports.G = G; +class HH { +} +exports.H = HH; +class I { +} +exports.I = I; +exports.II = I; +class J { +} +exports.J = J; +exports.JJ = J; +class K { + constructor() { + this.p1 = 12; + this.p2 = "ok"; + } + method() { + return this.p1; + } +} +exports.K = K; +class L extends K { +} +exports.L = L; +class M extends null { + constructor() { + this.prop = 12; + } +} +exports.M = M; +/** + * @template T + */ +class N extends L { + /** + * @param {T} param + */ + constructor(param) { + super(); + this.another = param; + } +} +exports.N = N; +/** + * @template U + * @extends {N} + */ +class O extends N { + /** + * @param {U} param + */ + constructor(param) { + super(param); + this.another2 = param; + } +} +exports.O = O; +var x = /** @type {*} */ null; +class VariableBase extends x { +} +exports.VariableBase = VariableBase; +class HasStatics { + static staticMethod() { } +} +exports.HasStatics = HasStatics; +class ExtendsStatics extends HasStatics { + static also() { } +} +exports.ExtendsStatics = ExtendsStatics; + + +//// [index.d.ts] +export declare class A { +} +export declare class B { + static cat: string; +} +export declare class C { + static Cls: { + new (): {}; + }; +} +export declare class D { + /** + * @param {number} a + * @param {number} b + */ + constructor(a: number, b: number); +} +/** + * @template T,U + */ +export declare class E { + /** + * @type {T & U} + */ + field: T & U; + // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {T & U} + * @readonly + */ + readonly readonlyField: T & U; + initializedField: number; + /** + * @return {U} + */ + get f1(): U; + /** + * @param {U} _p + */ + set f1(_p: U); + /** + * @return {U} + */ + get f2(): U; + /** + * @param {U} _p + */ + set f3(_p: U); + /** + * @param {T} a + * @param {U} b + */ + constructor(a: T, b: U); + /** + * @type {string} + */ + static staticField: string; + // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {string} + * @readonly + */ + static readonly staticReadonlyField: string; + static staticInitializedField: number; + /** + * @return {string} + */ + static get s1(): string; + /** + * @param {string} _p + */ + static set s1(_p: string); + /** + * @return {string} + */ + static get s2(): string; + /** + * @param {string} _p + */ + static set s3(_p: string); +} +/** + * @template T,U + */ +export declare class F { + /** + * @type {T & U} + */ + field: T & U; + /** + * @param {T} a + * @param {U} b + */ + constructor(a: T, b: U); + /** + * @template A,B + * @param {A} a + * @param {B} b + */ + static create(a: A, b: B): F; +} +declare class G { +} +export { G }; +declare class HH { +} +export { HH as H }; +export declare class I { +} +export { I as II }; +export { J as JJ }; +export declare class J { +} +export declare class K { + constructor(); + method(): number; +} +export declare class L extends K { +} +export declare class M extends null { + constructor(); +} +/** + * @template T + */ +export declare class N extends L { + /** + * @param {T} param + */ + constructor(param: T); +} +/** + * @template U + * @extends {N} + */ +export declare class O extends N { + /** + * @param {U} param + */ + constructor(param: U); +} +declare var x: any; +export declare class VariableBase extends x { +} +export declare class HasStatics { + static staticMethod(): void; +} +export declare class ExtendsStatics extends HasStatics { + static also(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClasses.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClasses.js.diff new file mode 100644 index 0000000000..fd04bc3d31 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClasses.js.diff @@ -0,0 +1,390 @@ +--- old.jsDeclarationsClasses.js ++++ new.jsDeclarationsClasses.js +@@= skipped -202, +202 lines =@@ + class A { + } + exports.A = A; +-let B = (() => { +- class B { +- } +- B.cat = "cat"; +- return B; +-})(); ++class B { ++ static cat = "cat"; ++} + exports.B = B; +-let C = (() => { +- class C { +- } +- C.Cls = class { ++class C { ++ static Cls = class { + }; +- return C; +-})(); ++} + exports.C = C; + class D { + /** +@@= skipped -26, +20 lines =@@ + /** + * @template T,U + */ +-let E = (() => { +- class E { +- /** +- * @return {U} +- */ +- get f1() { return /** @type {*} */ (null); } +- /** +- * @param {U} _p +- */ +- set f1(_p) { } +- /** +- * @return {U} +- */ +- get f2() { return /** @type {*} */ (null); } +- /** +- * @param {U} _p +- */ +- set f3(_p) { } +- /** +- * @param {T} a +- * @param {U} b +- */ +- constructor(a, b) { +- this.initializedField = 12; +- } +- /** +- * @return {string} +- */ +- static get s1() { return ""; } +- /** +- * @param {string} _p +- */ +- static set s1(_p) { } +- /** +- * @return {string} +- */ +- static get s2() { return ""; } +- /** +- * @param {string} _p +- */ +- static set s3(_p) { } +- } +- E.staticInitializedField = 12; +- return E; +-})(); ++class E { ++ /** ++ * @type {T & U} ++ */ ++ field; ++ // @readonly is currently unsupported, it seems - included here just in case that changes ++ /** ++ * @type {T & U} ++ * @readonly ++ */ ++ readonlyField; ++ initializedField = 12; ++ /** ++ * @return {U} ++ */ ++ get f1() { return /** @type {*} */ null; } ++ /** ++ * @param {U} _p ++ */ ++ set f1(_p) { } ++ /** ++ * @return {U} ++ */ ++ get f2() { return /** @type {*} */ null; } ++ /** ++ * @param {U} _p ++ */ ++ set f3(_p) { } ++ /** ++ * @param {T} a ++ * @param {U} b ++ */ ++ constructor(a, b) { } ++ /** ++ * @type {string} ++ */ ++ static staticField; ++ // @readonly is currently unsupported, it seems - included here just in case that changes ++ /** ++ * @type {string} ++ * @readonly ++ */ ++ static staticReadonlyField; ++ static staticInitializedField = 12; ++ /** ++ * @return {string} ++ */ ++ static get s1() { return ""; } ++ /** ++ * @param {string} _p ++ */ ++ static set s1(_p) { } ++ /** ++ * @return {string} ++ */ ++ static get s2() { return ""; } ++ /** ++ * @param {string} _p ++ */ ++ static set s3(_p) { } ++} + exports.E = E; + /** + * @template T,U + */ + class F { + /** ++ * @type {T & U} ++ */ ++ field; ++ /** + * @param {T} a + * @param {U} b + */ +@@= skipped -123, +143 lines =@@ + } + } + exports.O = O; +-var x = /** @type {*} */ (null); ++var x = /** @type {*} */ null; + class VariableBase extends x { + } + exports.VariableBase = VariableBase; +@@= skipped -15, +15 lines =@@ + + + //// [index.d.ts] +-export class A { ++export declare class A { + } +-export class B { ++export declare class B { + static cat: string; + } +-export class C { ++export declare class C { + static Cls: { + new (): {}; + }; + } +-export class D { ++export declare class D { + /** + * @param {number} a + * @param {number} b +@@= skipped -20, +20 lines =@@ + /** + * @template T,U + */ +-export class E { ++export declare class E { ++ /** ++ * @type {T & U} ++ */ ++ field: T & U; ++ // @readonly is currently unsupported, it seems - included here just in case that changes ++ /** ++ * @type {T & U} ++ * @readonly ++ */ ++ readonly readonlyField: T & U; ++ initializedField: number; ++ /** ++ * @return {U} ++ */ ++ get f1(): U; ++ /** ++ * @param {U} _p ++ */ ++ set f1(_p: U); ++ /** ++ * @return {U} ++ */ ++ get f2(): U; ++ /** ++ * @param {U} _p ++ */ ++ set f3(_p: U); ++ /** ++ * @param {T} a ++ * @param {U} b ++ */ ++ constructor(a: T, b: U); + /** + * @type {string} + */ + static staticField: string; ++ // @readonly is currently unsupported, it seems - included here just in case that changes + /** + * @type {string} + * @readonly +@@= skipped -12, +45 lines =@@ + static readonly staticReadonlyField: string; + static staticInitializedField: number; + /** +- * @param {string} _p +- */ +- static set s1(_p: string); +- /** + * @return {string} + */ + static get s1(): string; + /** ++ * @param {string} _p ++ */ ++ static set s1(_p: string); ++ /** + * @return {string} + */ + static get s2(): string; +@@= skipped -15, +15 lines =@@ + * @param {string} _p + */ + static set s3(_p: string); +- /** +- * @param {T} a +- * @param {U} b +- */ +- constructor(a: T, b: U); +- /** +- * @type {T & U} +- */ +- field: T & U; +- /** +- * @type {T & U} +- * @readonly +- */ +- readonly readonlyField: T & U; +- initializedField: number; +- /** +- * @param {U} _p +- */ +- set f1(_p: U); +- /** +- * @return {U} +- */ +- get f1(): U; +- /** +- * @return {U} +- */ +- get f2(): U; +- /** +- * @param {U} _p +- */ +- set f3(_p: U); + } + /** + * @template T,U + */ +-export class F { ++export declare class F { ++ /** ++ * @type {T & U} ++ */ ++ field: T & U; ++ /** ++ * @param {T} a ++ * @param {U} b ++ */ ++ constructor(a: T, b: U); + /** + * @template A,B + * @param {A} a + * @param {B} b + */ + static create(a: A, b: B): F; +- /** +- * @param {T} a +- * @param {U} b +- */ +- constructor(a: T, b: U); +- /** +- * @type {T & U} +- */ +- field: T & U; +-} +-export class I { +-} +-export class J { +-} +-export class K { +- p1: number; +- p2: string; ++} ++declare class G { ++} ++export { G }; ++declare class HH { ++} ++export { HH as H }; ++export declare class I { ++} ++export { I as II }; ++export { J as JJ }; ++export declare class J { ++} ++export declare class K { ++ constructor(); + method(): number; + } +-export class L extends K { ++export declare class L extends K { + } +-export class M { +- prop: number; ++export declare class M extends null { ++ constructor(); + } + /** + * @template T + */ +-export class N extends L { ++export declare class N extends L { + /** + * @param {T} param + */ + constructor(param: T); +- another: T; + } + /** + * @template U + * @extends {N} + */ +-export class O extends N { +- another2: U; +-} +-declare const VariableBase_base: any; +-export class VariableBase extends VariableBase_base { +- [x: string]: any; +-} +-export class HasStatics { ++export declare class O extends N { ++ /** ++ * @param {U} param ++ */ ++ constructor(param: U); ++} ++declare var x: any; ++export declare class VariableBase extends x { ++} ++export declare class HasStatics { + static staticMethod(): void; + } +-export class ExtendsStatics extends HasStatics { ++export declare class ExtendsStatics extends HasStatics { + static also(): void; + } +-export class G { +-} +-declare class HH { +-} +-export { HH as H, I as II, J as JJ }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js new file mode 100644 index 0000000000..5b6bf64ef7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js @@ -0,0 +1,207 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsClassesErr.ts] //// + +//// [index.js] +// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless + +export class M { + field: T; +} + +export class N extends M { + other: U; +} + +export class O { + [idx: string]: string; +} + +export class P extends O {} + +export class Q extends O { + [idx: string]: "ok"; +} + +export class R extends O { + [idx: number]: "ok"; +} + +export class S extends O { + [idx: string]: "ok"; + [idx: number]: never; +} + +export class T { + [idx: number]: string; +} + +export class U extends T {} + + +export class V extends T { + [idx: string]: string; +} + +export class W extends T { + [idx: number]: "ok"; +} + +export class X extends T { + [idx: string]: string; + [idx: number]: "ok"; +} + +export class Y { + [idx: string]: {x: number}; + [idx: number]: {x: number, y: number}; +} + +export class Z extends Y {} + +export class AA extends Y { + [idx: string]: {x: number, y: number}; +} + +export class BB extends Y { + [idx: number]: {x: 0, y: 0}; +} + +export class CC extends Y { + [idx: string]: {x: number, y: number}; + [idx: number]: {x: 0, y: 0}; +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CC = exports.BB = exports.AA = exports.Z = exports.Y = exports.X = exports.W = exports.V = exports.U = exports.T = exports.S = exports.R = exports.Q = exports.P = exports.O = exports.N = exports.M = void 0; +// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless +class M { + field; +} +exports.M = M; +class N extends M { + other; +} +exports.N = N; +class O { +} +exports.O = O; +class P extends O { +} +exports.P = P; +class Q extends O { +} +exports.Q = Q; +class R extends O { +} +exports.R = R; +class S extends O { +} +exports.S = S; +class T { +} +exports.T = T; +class U extends T { +} +exports.U = U; +class V extends T { +} +exports.V = V; +class W extends T { +} +exports.W = W; +class X extends T { +} +exports.X = X; +class Y { +} +exports.Y = Y; +class Z extends Y { +} +exports.Z = Z; +class AA extends Y { +} +exports.AA = AA; +class BB extends Y { +} +exports.BB = BB; +class CC extends Y { +} +exports.CC = CC; + + +//// [index.d.ts] +// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless +export declare class M { + field: T; +} +export declare class N extends M { + other: U; +} +export declare class O { + [idx: string]: string; +} +export declare class P extends O { +} +export declare class Q extends O { + [idx: string]: "ok"; +} +export declare class R extends O { + [idx: number]: "ok"; +} +export declare class S extends O { + [idx: string]: "ok"; + [idx: number]: never; +} +export declare class T { + [idx: number]: string; +} +export declare class U extends T { +} +export declare class V extends T { + [idx: string]: string; +} +export declare class W extends T { + [idx: number]: "ok"; +} +export declare class X extends T { + [idx: string]: string; + [idx: number]: "ok"; +} +export declare class Y { + [idx: string]: { + x: number; + }; + [idx: number]: { + x: number; + y: number; + }; +} +export declare class Z extends Y { +} +export declare class AA extends Y { + [idx: string]: { + x: number; + y: number; + }; +} +export declare class BB extends Y { + [idx: number]: { + x: 0; + y: 0; + }; +} +export declare class CC extends Y { + [idx: string]: { + x: number; + y: number; + }; + [idx: number]: { + x: 0; + y: 0; + }; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff new file mode 100644 index 0000000000..51902592b1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsClassesErr.js.diff @@ -0,0 +1,114 @@ +--- old.jsDeclarationsClassesErr.js ++++ new.jsDeclarationsClassesErr.js +@@= skipped -73, +73 lines =@@ + + //// [index.js] + "use strict"; +-// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js), +-// but we should be able to synthesize declarations from the symbols regardless + Object.defineProperty(exports, "__esModule", { value: true }); + exports.CC = exports.BB = exports.AA = exports.Z = exports.Y = exports.X = exports.W = exports.V = exports.U = exports.T = exports.S = exports.R = exports.Q = exports.P = exports.O = exports.N = exports.M = void 0; ++// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js), ++// but we should be able to synthesize declarations from the symbols regardless + class M { ++ field; + } + exports.M = M; + class N extends M { ++ other; + } + exports.N = N; + class O { +@@= skipped -58, +60 lines =@@ + + + //// [index.d.ts] +-export class M { ++// Pretty much all of this should be an error, (since index signatures and generics are forbidden in js), ++// but we should be able to synthesize declarations from the symbols regardless ++export declare class M { + field: T; + } +-export class N extends M { ++export declare class N extends M { + other: U; + } +-export class O { ++export declare class O { + [idx: string]: string; + } +-export class P extends O { ++export declare class P extends O { + } +-export class Q extends O { ++export declare class Q extends O { + [idx: string]: "ok"; + } +-export class R extends O { ++export declare class R extends O { + [idx: number]: "ok"; + } +-export class S extends O { ++export declare class S extends O { + [idx: string]: "ok"; + [idx: number]: never; + } +-export class T { ++export declare class T { + [idx: number]: string; + } +-export class U extends T { +-} +-export class V extends T { +- [idx: string]: string; +-} +-export class W extends T { +- [idx: number]: "ok"; +-} +-export class X extends T { +- [idx: string]: string; +- [idx: number]: "ok"; +-} +-export class Y { ++export declare class U extends T { ++} ++export declare class V extends T { ++ [idx: string]: string; ++} ++export declare class W extends T { ++ [idx: number]: "ok"; ++} ++export declare class X extends T { ++ [idx: string]: string; ++ [idx: number]: "ok"; ++} ++export declare class Y { + [idx: string]: { + x: number; + }; +@@= skipped -45, +47 lines =@@ + y: number; + }; + } +-export class Z extends Y { ++export declare class Z extends Y { + } +-export class AA extends Y { ++export declare class AA extends Y { + [idx: string]: { + x: number; + y: number; + }; + } +-export class BB extends Y { ++export declare class BB extends Y { + [idx: number]: { + x: 0; + y: 0; + }; + } +-export class CC extends Y { ++export declare class CC extends Y { + [idx: string]: { + x: number; + y: number; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.js new file mode 100644 index 0000000000..45f98704ba --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.js @@ -0,0 +1,29 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsCommonjsRelativePath.ts] //// + +//// [thing.js] +'use strict'; +class Thing {} +module.exports = { Thing } + +//// [reexport.js] +'use strict'; +const Thing = require('./thing').Thing +module.exports = { Thing } + + + + +//// [thing.d.ts] +declare class Thing { +} +declare const _default: { + Thing: typeof Thing; +}; +export = _default; +//// [reexport.d.ts] +declare const _default: { + Thing: { + new (): {}; + }; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.js.diff new file mode 100644 index 0000000000..e230b77856 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCommonjsRelativePath.js.diff @@ -0,0 +1,23 @@ +--- old.jsDeclarationsCommonjsRelativePath.js ++++ new.jsDeclarationsCommonjsRelativePath.js +@@= skipped -13, +13 lines =@@ + + + //// [thing.d.ts] +-export class Thing { ++declare class Thing { + } ++declare const _default: { ++ Thing: typeof Thing; ++}; ++export = _default; + //// [reexport.d.ts] +-export { Thing }; +-import Thing_1 = require("./thing"); +-import Thing = Thing_1.Thing; ++declare const _default: { ++ Thing: { ++ new (): {}; ++ }; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames.js new file mode 100644 index 0000000000..60432607d2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames.js @@ -0,0 +1,92 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsComputedNames.ts] //// + +//// [index.js] +const TopLevelSym = Symbol(); +const InnerSym = Symbol(); +module.exports = { + [TopLevelSym](x = 12) { + return x; + }, + items: { + [InnerSym]: (arg = {x: 12}) => arg.x + } +} + +//// [index2.js] +const TopLevelSym = Symbol(); +const InnerSym = Symbol(); + +export class MyClass { + static [TopLevelSym] = 12; + [InnerSym] = "ok"; + /** + * @param {typeof TopLevelSym | typeof InnerSym} _p + */ + constructor(_p = InnerSym) { + // switch on _p + } +} + + +//// [index.js] +const TopLevelSym = Symbol(); +const InnerSym = Symbol(); +export = { + [TopLevelSym](x = 12) { + return x; + }, + items: { + [InnerSym]: (arg = { x: 12 }) => arg.x + } +}; +module.exports = { + [TopLevelSym](x = 12) { + return x; + }, + items: { + [InnerSym]: (arg = { x: 12 }) => arg.x + } +}; +//// [index2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MyClass = void 0; +const TopLevelSym = Symbol(); +const InnerSym = Symbol(); +class MyClass { + static [TopLevelSym] = 12; + [InnerSym] = "ok"; + /** + * @param {typeof TopLevelSym | typeof InnerSym} _p + */ + constructor(_p = InnerSym) { + // switch on _p + } +} +exports.MyClass = MyClass; + + +//// [index.d.ts] +declare const TopLevelSym: unique symbol; +declare const InnerSym: unique symbol; +declare const _default: { + [TopLevelSym](x?: number): number; + items: { + [InnerSym]: (arg?: { + x: number; + }) => number; + }; +}; +export = _default; +//// [index2.d.ts] +declare const TopLevelSym: unique symbol; +declare const InnerSym: unique symbol; +export declare class MyClass { + static [TopLevelSym]: number; + [InnerSym]: string; + /** + * @param {typeof TopLevelSym | typeof InnerSym} _p + */ + constructor(_p?: typeof TopLevelSym | typeof InnerSym); +} +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames.js.diff new file mode 100644 index 0000000000..1927549a0f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsComputedNames.js.diff @@ -0,0 +1,83 @@ +--- old.jsDeclarationsComputedNames.js ++++ new.jsDeclarationsComputedNames.js +@@= skipped -30, +30 lines =@@ + //// [index.js] + const TopLevelSym = Symbol(); + const InnerSym = Symbol(); ++export = { ++ [TopLevelSym](x = 12) { ++ return x; ++ }, ++ items: { ++ [InnerSym]: (arg = { x: 12 }) => arg.x ++ } ++}; + module.exports = { + [TopLevelSym](x = 12) { + return x; +@@= skipped -14, +22 lines =@@ + exports.MyClass = void 0; + const TopLevelSym = Symbol(); + const InnerSym = Symbol(); +-let MyClass = (() => { +- var _a, _b; +- class MyClass { +- /** +- * @param {typeof TopLevelSym | typeof InnerSym} _p +- */ +- constructor(_p = InnerSym) { +- this[_b] = "ok"; +- // switch on _p +- } ++class MyClass { ++ static [TopLevelSym] = 12; ++ [InnerSym] = "ok"; ++ /** ++ * @param {typeof TopLevelSym | typeof InnerSym} _p ++ */ ++ constructor(_p = InnerSym) { ++ // switch on _p + } +- _a = TopLevelSym, _b = InnerSym; +- MyClass[_a] = 12; +- return MyClass; +-})(); ++} + exports.MyClass = MyClass; + + + //// [index.d.ts] +-declare const _exports: { ++declare const TopLevelSym: unique symbol; ++declare const InnerSym: unique symbol; ++declare const _default: { + [TopLevelSym](x?: number): number; + items: { + [InnerSym]: (arg?: { +@@= skipped -27, +24 lines =@@ + }) => number; + }; + }; +-export = _exports; +-declare const TopLevelSym: unique symbol; +-declare const InnerSym: unique symbol; ++export = _default; + //// [index2.d.ts] +-export class MyClass { ++declare const TopLevelSym: unique symbol; ++declare const InnerSym: unique symbol; ++export declare class MyClass { + static [TopLevelSym]: number; +- /** +- * @param {typeof TopLevelSym | typeof InnerSym} _p +- */ +- constructor(_p?: typeof TopLevelSym | typeof InnerSym); + [InnerSym]: string; ++ /** ++ * @param {typeof TopLevelSym | typeof InnerSym} _p ++ */ ++ constructor(_p?: typeof TopLevelSym | typeof InnerSym); + } +-declare const InnerSym: unique symbol; +-declare const TopLevelSym: unique symbol; + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsConstsAsNamespacesWithReferences.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsConstsAsNamespacesWithReferences.js new file mode 100644 index 0000000000..243121a7bf --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsConstsAsNamespacesWithReferences.js @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsConstsAsNamespacesWithReferences.ts] //// + +//// [index.js] +export const colors = { + royalBlue: "#6400e4", +}; + +export const brandColors = { + purple: colors.royalBlue, +}; + +//// [index.js] +export const colors = { + royalBlue: "#6400e4", +}; +export const brandColors = { + purple: colors.royalBlue, +}; + + +//// [index.d.ts] +export declare const colors: { + royalBlue: string; +}; +export declare const brandColors: { + purple: string; +}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsConstsAsNamespacesWithReferences.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsConstsAsNamespacesWithReferences.js.diff new file mode 100644 index 0000000000..ed968a212a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsConstsAsNamespacesWithReferences.js.diff @@ -0,0 +1,19 @@ +--- old.jsDeclarationsConstsAsNamespacesWithReferences.js ++++ new.jsDeclarationsConstsAsNamespacesWithReferences.js +@@= skipped -18, +18 lines =@@ + + + //// [index.d.ts] +-export namespace colors { +- let royalBlue: string; +-} +-export namespace brandColors { +- import purple = colors.royalBlue; +- export { purple }; +-} ++export declare const colors: { ++ royalBlue: string; ++}; ++export declare const brandColors: { ++ purple: string; ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js new file mode 100644 index 0000000000..43d7d8a23b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsCrossfileMerge.ts] //// + +//// [index.js] +const m = require("./exporter"); + +module.exports = m.default; +module.exports.memberName = "thing"; + +//// [exporter.js] +function validate() {} + +export default validate; + + +//// [exporter.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function validate() { } +exports.default = validate; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const m = require("./exporter"); +export = m.default; +module.exports = m.default; +export var memberName = "thing"; +module.exports.memberName = "thing"; + + +//// [exporter.d.ts] +declare function validate(): void; +export default validate; +//// [index.d.ts] +declare const m: typeof m; +declare const _default: typeof m.default; +export = _default; +export var memberName = "thing"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff new file mode 100644 index 0000000000..3c0477cb71 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsCrossfileMerge.js.diff @@ -0,0 +1,31 @@ +--- old.jsDeclarationsCrossfileMerge.js ++++ new.jsDeclarationsCrossfileMerge.js +@@= skipped -17, +17 lines =@@ + function validate() { } + exports.default = validate; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const m = require("./exporter"); ++export = m.default; + module.exports = m.default; ++export var memberName = "thing"; + module.exports.memberName = "thing"; + + +-//// [index.d.ts] +-declare const _exports: typeof m.default; +-export = _exports; +-import m = require("./exporter"); +- +- +-!!!! File out/exporter.d.ts missing from original emit, but present in noCheck emit + //// [exporter.d.ts] +-export default validate; + declare function validate(): void; ++export default validate; ++//// [index.d.ts] ++declare const m: typeof m; ++declare const _default: typeof m.default; ++export = _default; ++export var memberName = "thing"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefault.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefault.js new file mode 100644 index 0000000000..505f0d529a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefault.js @@ -0,0 +1,125 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsDefault.ts] //// + +//// [index1.js] +export default 12; + +//// [index2.js] +export default function foo() { + return foo; +} +export const x = foo; +export { foo as bar }; + +//// [index3.js] +export default class Foo { + a = /** @type {Foo} */(null); +}; +export const X = Foo; +export { Foo as Bar }; + +//// [index4.js] +import Fab from "./index3"; +class Bar extends Fab { + x = /** @type {Bar} */(null); +} +export default Bar; + +//// [index5.js] +// merge type alias and const (OK) +export default 12; +/** + * @typedef {string | number} default + */ + +//// [index6.js] +// merge type alias and function (OK) +export default function func() {}; +/** + * @typedef {string | number} default + */ + + +//// [index1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = 12; +//// [index2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.default = foo; +exports.bar = foo; +function foo() { + return foo; +} +exports.x = foo; +//// [index3.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Bar = exports.X = void 0; +class Foo { + a = /** @type {Foo} */ null; +} +exports.default = Foo; +exports.Bar = Foo; +; +exports.X = Foo; +//// [index4.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const index3_1 = require("./index3"); +class Bar extends index3_1.default { + x = /** @type {Bar} */ null; +} +exports.default = Bar; +//// [index5.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// merge type alias and const (OK) +exports.default = 12; +/** + * @typedef {string | number} default + */ +//// [index6.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = func; +// merge type alias and function (OK) +function func() { } +; +/** + * @typedef {string | number} default + */ + + +//// [index1.d.ts] +declare const _default: number; +export default _default; +//// [index2.d.ts] +export default function foo(): typeof foo; +export declare const x: typeof foo; +export { foo as bar }; +//// [index3.d.ts] +export default class Foo { + a: Foo; +} +export declare const X: typeof Foo; +export { Foo as Bar }; +//// [index4.d.ts] +import Fab from "./index3"; +declare class Bar extends Fab { + x: Bar; +} +export default Bar; +//// [index5.d.ts] +declare const _default: number; +export default _default; +/** + * @typedef {string | number} default + */ +//// [index6.d.ts] +// merge type alias and function (OK) +export default function func(): void; +/** + * @typedef {string | number} default + */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefault.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefault.js.diff new file mode 100644 index 0000000000..694467df49 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefault.js.diff @@ -0,0 +1,72 @@ +--- old.jsDeclarationsDefault.js ++++ new.jsDeclarationsDefault.js +@@= skipped -57, +57 lines =@@ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Bar = exports.X = void 0; + class Foo { +- constructor() { +- this.a = (null); +- } ++ a = /** @type {Foo} */ null; + } + exports.default = Foo; + exports.Bar = Foo; +@@= skipped -11, +9 lines =@@ + //// [index4.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var index3_1 = require("./index3"); ++const index3_1 = require("./index3"); + class Bar extends index3_1.default { +- constructor() { +- super(...arguments); +- this.x = (null); +- } ++ x = /** @type {Bar} */ null; + } + exports.default = Bar; + //// [index5.js] +@@= skipped -29, +26 lines =@@ + + + //// [index1.d.ts] +-declare const _default: 12; ++declare const _default: number; + export default _default; + //// [index2.d.ts] + export default function foo(): typeof foo; +-export function x(): typeof foo; ++export declare const x: typeof foo; + export { foo as bar }; + //// [index3.d.ts] + export default class Foo { + a: Foo; + } +-export const X: typeof Foo; ++export declare const X: typeof Foo; + export { Foo as Bar }; + //// [index4.d.ts] +-export default Bar; ++import Fab from "./index3"; + declare class Bar extends Fab { + x: Bar; + } +-import Fab from "./index3"; ++export default Bar; + //// [index5.d.ts] +-type _default = string | number; +-declare const _default: 12; ++declare const _default: number; + export default _default; ++/** ++ * @typedef {string | number} default ++ */ + //// [index6.d.ts] +-declare function func(): void; +-type func = string | number; +-export default func; ++// merge type alias and function (OK) ++export default function func(): void; ++/** ++ * @typedef {string | number} default ++ */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefaultsErr.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefaultsErr.js new file mode 100644 index 0000000000..ec5a2262cc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefaultsErr.js @@ -0,0 +1,88 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsDefaultsErr.ts] //// + +//// [index1.js] +// merge type alias and alias (should error, see #32367) +class Cls { + x = 12; + static y = "ok" +} +export default Cls; +/** + * @typedef {string | number} default + */ + +//// [index2.js] +// merge type alias and class (error message improvement needed, see #32368) +export default class C {}; +/** + * @typedef {string | number} default + */ + +//// [index3.js] +// merge type alias and variable (behavior is borked, see #32366) +const x = 12; +export {x as default}; +/** + * @typedef {string | number} default + */ + + +//// [index1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// merge type alias and alias (should error, see #32367) +class Cls { + x = 12; + static y = "ok"; +} +exports.default = Cls; +/** + * @typedef {string | number} default + */ +//// [index2.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// merge type alias and class (error message improvement needed, see #32368) +class C { +} +exports.default = C; +; +/** + * @typedef {string | number} default + */ +//// [index3.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; +// merge type alias and variable (behavior is borked, see #32366) +const x = 12; +exports.default = x; +/** + * @typedef {string | number} default + */ + + +//// [index1.d.ts] +// merge type alias and alias (should error, see #32367) +declare class Cls { + x: number; + static y: string; +} +export default Cls; +/** + * @typedef {string | number} default + */ +//// [index2.d.ts] +// merge type alias and class (error message improvement needed, see #32368) +export default class C { +} +/** + * @typedef {string | number} default + */ +//// [index3.d.ts] +// merge type alias and variable (behavior is borked, see #32366) +declare const x = 12; +export { x as default }; +/** + * @typedef {string | number} default + */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefaultsErr.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefaultsErr.js.diff new file mode 100644 index 0000000000..cb00d47a58 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDefaultsErr.js.diff @@ -0,0 +1,54 @@ +--- old.jsDeclarationsDefaultsErr.js ++++ new.jsDeclarationsDefaultsErr.js +@@= skipped -30, +30 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + // merge type alias and alias (should error, see #32367) +-let Cls = (() => { +- class Cls { +- constructor() { +- this.x = 12; +- } +- } +- Cls.y = "ok"; +- return Cls; +-})(); ++class Cls { ++ x = 12; ++ static y = "ok"; ++} + exports.default = Cls; + /** + * @typedef {string | number} default +@@= skipped -37, +32 lines =@@ + + + //// [index1.d.ts] +-export type Cls = string | number; +-export default Cls; ++// merge type alias and alias (should error, see #32367) + declare class Cls { +- static y: string; + x: number; ++ static y: string; + } ++export default Cls; ++/** ++ * @typedef {string | number} default ++ */ + //// [index2.d.ts] ++// merge type alias and class (error message improvement needed, see #32368) + export default class C { + } ++/** ++ * @typedef {string | number} default ++ */ + //// [index3.d.ts] +-export type _default = string | number; ++// merge type alias and variable (behavior is borked, see #32366) ++declare const x = 12; + export { x as default }; +-declare const x: 12; ++/** ++ * @typedef {string | number} default ++ */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts.js new file mode 100644 index 0000000000..dfd3ae0f2b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts.js @@ -0,0 +1,45 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsDocCommentsOnConsts.ts] //// + +//// [index1.js] +/** + * const doc comment + */ +const x = (a) => { + return ''; +}; + +/** + * function doc comment + */ +function b() { + return 0; +} + +module.exports = {x, b} + +//// [index1.js] +/** + * const doc comment + */ +const x = (a) => { + return ''; +}; +/** + * function doc comment + */ +function b() { + return 0; +} +module.exports = { x, b }; + + +//// [index1.d.ts] +/** + * function doc comment + */ +declare function b(): number; +declare const _default: { + x: (a: any) => string; + b: typeof b; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts.js.diff new file mode 100644 index 0000000000..8ba1a315db --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsDocCommentsOnConsts.js.diff @@ -0,0 +1,19 @@ +--- old.jsDeclarationsDocCommentsOnConsts.js ++++ new.jsDeclarationsDocCommentsOnConsts.js +@@= skipped -34, +34 lines =@@ + + //// [index1.d.ts] + /** +- * const doc comment +- */ +-export function x(a: any): string; +-/** + * function doc comment + */ +-export function b(): number; ++declare function b(): number; ++declare const _default: { ++ x: (a: any) => string; ++ b: typeof b; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnumTag.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnumTag.js new file mode 100644 index 0000000000..fb5a994b83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnumTag.js @@ -0,0 +1,135 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsEnumTag.ts] //// + +//// [index.js] +/** @enum {string} */ +export const Target = { + START: "start", + MIDDLE: "middle", + END: "end", + /** @type {number} */ + OK_I_GUESS: 2 +} +/** @enum number */ +export const Second = { + OK: 1, + /** @type {number} */ + FINE: 2, +} +/** @enum {function(number): number} */ +export const Fs = { + ADD1: n => n + 1, + ID: n => n, + SUB1: n => n - 1 +} + +/** + * @param {Target} t + * @param {Second} s + * @param {Fs} f + */ +export function consume(t,s,f) { + /** @type {string} */ + var str = t + /** @type {number} */ + var num = s + /** @type {(n: number) => number} */ + var fun = f + /** @type {Target} */ + var v = Target.START + v = 'something else' // allowed, like Typescript's classic enums and unlike its string enums +} +/** @param {string} s */ +export function ff(s) { + // element access with arbitrary string is an error only with noImplicitAny + if (!Target[s]) { + return null + } + else { + return Target[s] + } +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Fs = exports.Second = exports.Target = void 0; +exports.consume = consume; +exports.ff = ff; +/** @enum {string} */ +exports.Target = { + START: "start", + MIDDLE: "middle", + END: "end", + /** @type {number} */ + OK_I_GUESS: 2 +}; +/** @enum number */ +exports.Second = { + OK: 1, + /** @type {number} */ + FINE: 2, +}; +/** @enum {function(number): number} */ +exports.Fs = { + ADD1: n => n + 1, + ID: n => n, + SUB1: n => n - 1 +}; +/** + * @param {Target} t + * @param {Second} s + * @param {Fs} f + */ +function consume(t, s, f) { + /** @type {string} */ + var str = t; + /** @type {number} */ + var num = s; + /** @type {(n: number) => number} */ + var fun = f; + /** @type {Target} */ + var v = exports.Target.START; + v = 'something else'; // allowed, like Typescript's classic enums and unlike its string enums +} +/** @param {string} s */ +function ff(s) { + // element access with arbitrary string is an error only with noImplicitAny + if (!exports.Target[s]) { + return null; + } + else { + return exports.Target[s]; + } +} + + +//// [index.d.ts] +/** @enum {string} */ +export declare const Target: { + START: string; + MIDDLE: string; + END: string; + /** @type {number} */ + OK_I_GUESS: number; +}; +/** @enum number */ +export declare const Second: { + OK: number; + /** @type {number} */ + FINE: number; +}; +/** @enum {function(number): number} */ +export declare const Fs: { + ADD1: (n: any) => any; + ID: (n: any) => any; + SUB1: (n: any) => number; +}; +/** + * @param {Target} t + * @param {Second} s + * @param {Fs} f + */ +export declare function consume(t: Target, s: Second, f: Fs): void; +/** @param {string} s */ +export declare function ff(s: string): any; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnumTag.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnumTag.js.diff new file mode 100644 index 0000000000..0a63b1a868 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnumTag.js.diff @@ -0,0 +1,54 @@ +--- old.jsDeclarationsEnumTag.js ++++ new.jsDeclarationsEnumTag.js +@@= skipped -104, +104 lines =@@ + + + //// [index.d.ts] ++/** @enum {string} */ ++export declare const Target: { ++ START: string; ++ MIDDLE: string; ++ END: string; ++ /** @type {number} */ ++ OK_I_GUESS: number; ++}; ++/** @enum number */ ++export declare const Second: { ++ OK: number; ++ /** @type {number} */ ++ FINE: number; ++}; ++/** @enum {function(number): number} */ ++export declare const Fs: { ++ ADD1: (n: any) => any; ++ ID: (n: any) => any; ++ SUB1: (n: any) => number; ++}; + /** + * @param {Target} t + * @param {Second} s + * @param {Fs} f + */ +-export function consume(t: Target, s: Second, f: Fs): void; ++export declare function consume(t: Target, s: Second, f: Fs): void; + /** @param {string} s */ +-export function ff(s: string): any; +-export type Target = string; +-export namespace Target { +- let START: string; +- let MIDDLE: string; +- let END: string; +- let OK_I_GUESS: number; +-} +-export type Second = number; +-export namespace Second { +- let OK: number; +- let FINE: number; +-} +-export type Fs = (arg0: number) => number; +-export namespace Fs { +- function ADD1(n: any): any; +- function ID(n: any): any; +- function SUB1(n: any): number; +-} ++export declare function ff(s: string): any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js new file mode 100644 index 0000000000..96865717dc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js @@ -0,0 +1,185 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsEnums.ts] //// + +//// [index.js] +// Pretty much all of this should be an error, (since enums are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless + +export enum A {} + +export enum B { + Member +} + +enum C {} + +export { C }; + +enum DD {} + +export { DD as D }; + +export enum E {} +export { E as EE }; + +export { F as FF }; +export enum F {} + +export enum G { + A = 1, + B, + C +} + +export enum H { + A = "a", + B = "b" +} + +export enum I { + A = "a", + B = 0, + C +} + +export const enum J { + A = 1, + B, + C +} + +export enum K { + None = 0, + A = 1 << 0, + B = 1 << 1, + C = 1 << 2, + Mask = A | B | C, +} + +export const enum L { + None = 0, + A = 1 << 0, + B = 1 << 1, + C = 1 << 2, + Mask = A | B | C, +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.L = exports.K = exports.J = exports.I = exports.H = exports.G = exports.F = exports.FF = exports.EE = exports.E = exports.D = exports.C = exports.B = exports.A = void 0; +// Pretty much all of this should be an error, (since enums are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless +var A; +(function (A) { +})(A || (exports.A = A = {})); +var B; +(function (B) { + B[B["Member"] = 0] = "Member"; +})(B || (exports.B = B = {})); +var C; +(function (C) { +})(C || (exports.C = C = {})); +var DD; +(function (DD) { +})(DD || (exports.D = DD = {})); +var E; +(function (E) { +})(E || (exports.EE = exports.E = E = {})); +var F; +(function (F) { +})(F || (exports.F = exports.FF = F = {})); +var G; +(function (G) { + G[G["A"] = 1] = "A"; + G[G["B"] = 2] = "B"; + G[G["C"] = 3] = "C"; +})(G || (exports.G = G = {})); +var H; +(function (H) { + H["A"] = "a"; + H["B"] = "b"; +})(H || (exports.H = H = {})); +var I; +(function (I) { + I["A"] = "a"; + I[I["B"] = 0] = "B"; + I[I["C"] = 1] = "C"; +})(I || (exports.I = I = {})); +var J; +(function (J) { + J[J["A"] = 1] = "A"; + J[J["B"] = 2] = "B"; + J[J["C"] = 3] = "C"; +})(J || (exports.J = J = {})); +var K; +(function (K) { + K[K["None"] = 0] = "None"; + K[K["A"] = 1] = "A"; + K[K["B"] = 2] = "B"; + K[K["C"] = 4] = "C"; + K[K["Mask"] = 7] = "Mask"; +})(K || (exports.K = K = {})); +var L; +(function (L) { + L[L["None"] = 0] = "None"; + L[L["A"] = 1] = "A"; + L[L["B"] = 2] = "B"; + L[L["C"] = 4] = "C"; + L[L["Mask"] = 7] = "Mask"; +})(L || (exports.L = L = {})); + + +//// [index.d.ts] +// Pretty much all of this should be an error, (since enums are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless +export declare enum A { +} +export declare enum B { + Member = 0 +} +declare enum C { +} +export { C }; +declare enum DD { +} +export { DD as D }; +export declare enum E { +} +export { E as EE }; +export { F as FF }; +export declare enum F { +} +export declare enum G { + A = 1, + B = 2, + C = 3 +} +export declare enum H { + A = "a", + B = "b" +} +export declare enum I { + A = "a", + B = 0, + C = 1 +} +export declare const enum J { + A = 1, + B = 2, + C = 3 +} +export declare enum K { + None = 0, + A = 1, + B = 2, + C = 4, + Mask = 7 +} +export declare const enum L { + None = 0, + A = 1, + B = 2, + C = 4, + Mask = 7 +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff new file mode 100644 index 0000000000..4120026b81 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsEnums.js.diff @@ -0,0 +1,125 @@ +--- old.jsDeclarationsEnums.js ++++ new.jsDeclarationsEnums.js +@@= skipped -65, +65 lines =@@ + + //// [index.js] + "use strict"; +-// Pretty much all of this should be an error, (since enums are forbidden in js), +-// but we should be able to synthesize declarations from the symbols regardless + Object.defineProperty(exports, "__esModule", { value: true }); +-exports.K = exports.I = exports.H = exports.G = exports.F = exports.FF = exports.EE = exports.E = exports.D = exports.C = exports.B = exports.A = void 0; ++exports.L = exports.K = exports.J = exports.I = exports.H = exports.G = exports.F = exports.FF = exports.EE = exports.E = exports.D = exports.C = exports.B = exports.A = void 0; ++// Pretty much all of this should be an error, (since enums are forbidden in js), ++// but we should be able to synthesize declarations from the symbols regardless + var A; + (function (A) { + })(A || (exports.A = A = {})); +@@= skipped -40, +40 lines =@@ + I[I["B"] = 0] = "B"; + I[I["C"] = 1] = "C"; + })(I || (exports.I = I = {})); ++var J; ++(function (J) { ++ J[J["A"] = 1] = "A"; ++ J[J["B"] = 2] = "B"; ++ J[J["C"] = 3] = "C"; ++})(J || (exports.J = J = {})); + var K; + (function (K) { + K[K["None"] = 0] = "None"; +@@= skipped -8, +14 lines =@@ + K[K["C"] = 4] = "C"; + K[K["Mask"] = 7] = "Mask"; + })(K || (exports.K = K = {})); ++var L; ++(function (L) { ++ L[L["None"] = 0] = "None"; ++ L[L["A"] = 1] = "A"; ++ L[L["B"] = 2] = "B"; ++ L[L["C"] = 4] = "C"; ++ L[L["Mask"] = 7] = "Mask"; ++})(L || (exports.L = L = {})); + + + //// [index.d.ts] +-export enum A { ++// Pretty much all of this should be an error, (since enums are forbidden in js), ++// but we should be able to synthesize declarations from the symbols regardless ++export declare enum A { + } +-export enum B { ++export declare enum B { + Member = 0 + } +-export enum E { +-} +-export enum F { +-} +-export enum G { ++declare enum C { ++} ++export { C }; ++declare enum DD { ++} ++export { DD as D }; ++export declare enum E { ++} ++export { E as EE }; ++export { F as FF }; ++export declare enum F { ++} ++export declare enum G { + A = 1, + B = 2, + C = 3 + } +-export enum H { ++export declare enum H { + A = "a", + B = "b" + } +-export enum I { ++export declare enum I { + A = "a", + B = 0, + C = 1 + } +-export const enum J { ++export declare const enum J { + A = 1, + B = 2, + C = 3 + } +-export enum K { +- None = 0, +- A = 1, +- B = 2, +- C = 4, +- Mask = 7 +-} +-export const enum L { +- None = 0, +- A = 1, +- B = 2, +- C = 4, +- Mask = 7 +-} +-export enum C { +-} +-declare enum DD { +-} +-export { DD as D, E as EE, F as FF }; ++export declare enum K { ++ None = 0, ++ A = 1, ++ B = 2, ++ C = 4, ++ Mask = 7 ++} ++export declare const enum L { ++ None = 0, ++ A = 1, ++ B = 2, ++ C = 4, ++ Mask = 7 ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression.js new file mode 100644 index 0000000000..57400ad02e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression.js @@ -0,0 +1,44 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassExpression.ts] //// + +//// [index.js] +module.exports = class Thing { + /** + * @param {number} p + */ + constructor(p) { + this.t = 12 + p; + } +} + +//// [index.js] +module.exports = class Thing { + /** + * @param {number} p + */ + constructor(p) { + this.t = 12 + p; + } +}; + + +//// [index.d.ts] +declare const _default: { + new (p: number): import("."); +}; +export = _default; + + +//// [DtsFileErrors] + + +out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + + +==== out/index.d.ts (1 errors) ==== + declare const _default: { + new (p: number): import("."); + ~~~~~~~~~~~ +!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + }; + export = _default; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression.js.diff new file mode 100644 index 0000000000..d30ea0a4a7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpression.js.diff @@ -0,0 +1,34 @@ +--- old.jsDeclarationsExportAssignedClassExpression.js ++++ new.jsDeclarationsExportAssignedClassExpression.js +@@= skipped -21, +21 lines =@@ + + + //// [index.d.ts] +-export = Thing; +-declare class Thing { +- /** +- * @param {number} p +- */ +- constructor(p: number); +- t: number; +-} ++declare const _default: { ++ new (p: number): import("."); ++}; ++export = _default; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ declare const _default: { ++ new (p: number): import("."); ++ ~~~~~~~~~~~ ++!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ }; ++ export = _default; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous.js new file mode 100644 index 0000000000..b6ac685f16 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous.js @@ -0,0 +1,44 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassExpressionAnonymous.ts] //// + +//// [index.js] +module.exports = class { + /** + * @param {number} p + */ + constructor(p) { + this.t = 12 + p; + } +} + +//// [index.js] +module.exports = class { + /** + * @param {number} p + */ + constructor(p) { + this.t = 12 + p; + } +}; + + +//// [index.d.ts] +declare const _default: { + new (p: number): import("."); +}; +export = _default; + + +//// [DtsFileErrors] + + +out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + + +==== out/index.d.ts (1 errors) ==== + declare const _default: { + new (p: number): import("."); + ~~~~~~~~~~~ +!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? + }; + export = _default; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous.js.diff new file mode 100644 index 0000000000..e6561361bb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymous.js.diff @@ -0,0 +1,34 @@ +--- old.jsDeclarationsExportAssignedClassExpressionAnonymous.js ++++ new.jsDeclarationsExportAssignedClassExpressionAnonymous.js +@@= skipped -21, +21 lines =@@ + + + //// [index.d.ts] +-export = exports; +-declare class exports { +- /** +- * @param {number} p +- */ +- constructor(p: number); +- t: number; +-} ++declare const _default: { ++ new (p: number): import("."); ++}; ++export = _default; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(2,22): error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ declare const _default: { ++ new (p: number): import("."); ++ ~~~~~~~~~~~ ++!!! error TS1340: Module '.' does not refer to a type, but is used as a type here. Did you mean 'typeof import('.')'? ++ }; ++ export = _default; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js new file mode 100644 index 0000000000..72dbfb79c7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.ts] //// + +//// [index.js] +module.exports = class { + /** + * @param {number} p + */ + constructor(p) { + this.t = 12 + p; + } +} +module.exports.Sub = class { + constructor() { + this.instance = new module.exports(10); + } +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +module.exports = class { + /** + * @param {number} p + */ + constructor(p) { + this.t = 12 + p; + } +}; +export var Sub = class { + constructor() { + this.instance = new module.exports(10); + } +}; +module.exports.Sub = class { + constructor() { + this.instance = new module.exports(10); + } +}; + + +//// [index.d.ts] +declare const _default: { + new (p: number): import("."); +}; +export = _default; +export var Sub = class { + constructor(); +}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff new file mode 100644 index 0000000000..0ca2a3e82f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js.diff @@ -0,0 +1,48 @@ +--- old.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js ++++ new.jsDeclarationsExportAssignedClassExpressionAnonymousWithSub.js +@@= skipped -16, +16 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + module.exports = class { + /** + * @param {number} p +@@= skipped -8, +10 lines =@@ + this.t = 12 + p; + } + }; ++export var Sub = class { ++ constructor() { ++ this.instance = new module.exports(10); ++ } ++}; + module.exports.Sub = class { + constructor() { + this.instance = new module.exports(10); +@@= skipped -8, +13 lines =@@ + + + //// [index.d.ts] +-export = exports; +-declare class exports { +- /** +- * @param {number} p +- */ +- constructor(p: number); +- t: number; +-} +-declare namespace exports { +- export { Sub }; +-} +-declare class Sub { +- instance: import("."); +-} ++declare const _default: { ++ new (p: number): import("."); ++}; ++export = _default; ++export var Sub = class { ++ constructor(); ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js new file mode 100644 index 0000000000..7e5016e232 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassExpressionShadowing.ts] //// + +//// [index.js] +class A { + member = new Q(); +} +class Q { + x = 42; +} +module.exports = class Q { + constructor() { + this.x = new A(); + } +} +module.exports.Another = Q; + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class A { + member = new Q(); +} +class Q { + x = 42; +} +export = class Q { + constructor() { + this.x = new A(); + } +}; +module.exports = class Q { + constructor() { + this.x = new A(); + } +}; +export var Another = Q; +module.exports.Another = Q; + + +//// [index.d.ts] +declare const _default: { + new (): import("."); +}; +export = _default; +export var Another = Q; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff new file mode 100644 index 0000000000..a571be8c1d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassExpressionShadowing.js.diff @@ -0,0 +1,52 @@ +--- old.jsDeclarationsExportAssignedClassExpressionShadowing.js ++++ new.jsDeclarationsExportAssignedClassExpressionShadowing.js +@@= skipped -15, +15 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + class A { +- constructor() { +- this.member = new Q(); +- } ++ member = new Q(); + } + class Q { ++ x = 42; ++} ++export = class Q { + constructor() { +- this.x = 42; ++ this.x = new A(); + } +-} ++}; + module.exports = class Q { + constructor() { + this.x = new A(); + } + }; ++export var Another = Q; + module.exports.Another = Q; + + + //// [index.d.ts] +-export = Q; +-declare class Q { +- x: A; +-} +-declare namespace Q { +- export { Q_1 as Another }; +-} +-declare class A { +- member: Q; +-} +-declare class Q_1 { +- x: number; +-} ++declare const _default: { ++ new (): import("."); ++}; ++export = _default; ++export var Another = Q; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1.js new file mode 100644 index 0000000000..fab97e437c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1.js @@ -0,0 +1,19 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassInstance1.ts] //// + +//// [index.js] +class Foo {} + +module.exports = new Foo(); + +//// [index.js] +class Foo { +} +export = new Foo(); +module.exports = new Foo(); + + +//// [index.d.ts] +declare class Foo { +} +declare const _default: Foo; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1.js.diff new file mode 100644 index 0000000000..c85d6d7904 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance1.js.diff @@ -0,0 +1,17 @@ +--- old.jsDeclarationsExportAssignedClassInstance1.js ++++ new.jsDeclarationsExportAssignedClassInstance1.js +@@= skipped -7, +7 lines =@@ + //// [index.js] + class Foo { + } ++export = new Foo(); + module.exports = new Foo(); + + + //// [index.d.ts] +-declare const _exports: Foo; +-export = _exports; + declare class Foo { + } ++declare const _default: Foo; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2.js new file mode 100644 index 0000000000..1ca4b06ac8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2.js @@ -0,0 +1,26 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassInstance2.ts] //// + +//// [index.js] +class Foo { + static stat = 10; + member = 10; +} + +module.exports = new Foo(); + +//// [index.js] +class Foo { + static stat = 10; + member = 10; +} +export = new Foo(); +module.exports = new Foo(); + + +//// [index.d.ts] +declare class Foo { + static stat: number; + member: number; +} +declare const _default: Foo; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2.js.diff new file mode 100644 index 0000000000..820bff473d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance2.js.diff @@ -0,0 +1,32 @@ +--- old.jsDeclarationsExportAssignedClassInstance2.js ++++ new.jsDeclarationsExportAssignedClassInstance2.js +@@= skipped -8, +8 lines =@@ + module.exports = new Foo(); + + //// [index.js] +-let Foo = (() => { +- class Foo { +- constructor() { +- this.member = 10; +- } +- } +- Foo.stat = 10; +- return Foo; +-})(); ++class Foo { ++ static stat = 10; ++ member = 10; ++} ++export = new Foo(); + module.exports = new Foo(); + + + //// [index.d.ts] +-declare const _exports: Foo; +-export = _exports; + declare class Foo { + static stat: number; + member: number; + } ++declare const _default: Foo; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js new file mode 100644 index 0000000000..b0cf369223 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedClassInstance3.ts] //// + +//// [index.js] +class Foo { + static stat = 10; + member = 10; +} + +module.exports = new Foo(); + +module.exports.additional = 20; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Foo { + static stat = 10; + member = 10; +} +export = new Foo(); +module.exports = new Foo(); +export var additional = 20; +module.exports.additional = 20; + + +//// [index.d.ts] +declare class Foo { + static stat: number; + member: number; +} +declare const _default: Foo; +export = _default; +export var additional = 20; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff new file mode 100644 index 0000000000..b674f89330 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedClassInstance3.js.diff @@ -0,0 +1,37 @@ +--- old.jsDeclarationsExportAssignedClassInstance3.js ++++ new.jsDeclarationsExportAssignedClassInstance3.js +@@= skipped -10, +10 lines =@@ + module.exports.additional = 20; + + //// [index.js] +-let Foo = (() => { +- class Foo { +- constructor() { +- this.member = 10; +- } +- } +- Foo.stat = 10; +- return Foo; +-})(); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++class Foo { ++ static stat = 10; ++ member = 10; ++} ++export = new Foo(); + module.exports = new Foo(); ++export var additional = 20; + module.exports.additional = 20; + + + //// [index.d.ts] +-export let member: number; +-export let additional: 20; ++declare class Foo { ++ static stat: number; ++ member: number; ++} ++declare const _default: Foo; ++export = _default; ++export var additional = 20; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js new file mode 100644 index 0000000000..f73905bca5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedConstructorFunction.ts] //// + +//// [jsDeclarationsExportAssignedConstructorFunction.js] +/** @constructor */ +module.exports.MyClass = function() { + this.x = 1 +} +module.exports.MyClass.prototype = { + a: function() { + } +} + + +//// [jsDeclarationsExportAssignedConstructorFunction.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @constructor */ +export var MyClass = function () { + this.x = 1; +}; +/** @constructor */ +module.exports.MyClass = function () { + this.x = 1; +}; +module.exports.MyClass.prototype = { + a: function () { + } +}; + + +//// [jsDeclarationsExportAssignedConstructorFunction.d.ts] +/** @constructor */ +export var MyClass = function ();; +export {}; + + +//// [DtsFileErrors] + + +out/jsDeclarationsExportAssignedConstructorFunction.d.ts(2,33): error TS1005: '{' expected. + + +==== out/jsDeclarationsExportAssignedConstructorFunction.d.ts (1 errors) ==== + /** @constructor */ + export var MyClass = function ();; + ~ +!!! error TS1005: '{' expected. + export {}; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff new file mode 100644 index 0000000000..089c0e854d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunction.js.diff @@ -0,0 +1,40 @@ +--- old.jsDeclarationsExportAssignedConstructorFunction.js ++++ new.jsDeclarationsExportAssignedConstructorFunction.js +@@= skipped -11, +11 lines =@@ + + + //// [jsDeclarationsExportAssignedConstructorFunction.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++/** @constructor */ ++export var MyClass = function () { ++ this.x = 1; ++}; + /** @constructor */ + module.exports.MyClass = function () { + this.x = 1; +@@= skipped -11, +17 lines =@@ + + + //// [jsDeclarationsExportAssignedConstructorFunction.d.ts] +-export class MyClass { +- a: () => void; +-} ++/** @constructor */ ++export var MyClass = function ();; ++export {}; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/jsDeclarationsExportAssignedConstructorFunction.d.ts(2,33): error TS1005: '{' expected. ++ ++ ++==== out/jsDeclarationsExportAssignedConstructorFunction.d.ts (1 errors) ==== ++ /** @constructor */ ++ export var MyClass = function ();; ++ ~ ++!!! error TS1005: '{' expected. ++ export {}; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js new file mode 100644 index 0000000000..f1fcca9856 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js @@ -0,0 +1,43 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedConstructorFunctionWithSub.ts] //// + +//// [jsDeclarationsExportAssignedConstructorFunctionWithSub.js] +/** + * @param {number} p + */ +module.exports = function (p) { + this.t = 12 + p; +} +module.exports.Sub = function() { + this.instance = new module.exports(10); +} +module.exports.Sub.prototype = { } + + +//// [jsDeclarationsExportAssignedConstructorFunctionWithSub.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @param {number} p + */ +export = function (p) { + this.t = 12 + p; +}; +/** + * @param {number} p + */ +module.exports = function (p) { + this.t = 12 + p; +}; +export var Sub = function () { + this.instance = new module.exports(10); +}; +module.exports.Sub = function () { + this.instance = new module.exports(10); +}; +module.exports.Sub.prototype = {}; + + +//// [jsDeclarationsExportAssignedConstructorFunctionWithSub.d.ts] +declare const _default: (p: any) => void; +export = _default; +export var Sub = function ();; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff new file mode 100644 index 0000000000..8724348065 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedConstructorFunctionWithSub.js.diff @@ -0,0 +1,33 @@ +--- old.jsDeclarationsExportAssignedConstructorFunctionWithSub.js ++++ new.jsDeclarationsExportAssignedConstructorFunctionWithSub.js +@@= skipped -13, +13 lines =@@ + + + //// [jsDeclarationsExportAssignedConstructorFunctionWithSub.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++/** ++ * @param {number} p ++ */ ++export = function (p) { ++ this.t = 12 + p; ++}; + /** + * @param {number} p + */ + module.exports = function (p) { + this.t = 12 + p; + }; ++export var Sub = function () { ++ this.instance = new module.exports(10); ++}; + module.exports.Sub = function () { + this.instance = new module.exports(10); + }; + module.exports.Sub.prototype = {}; ++ ++ ++//// [jsDeclarationsExportAssignedConstructorFunctionWithSub.d.ts] ++declare const _default: (p: any) => void; ++export = _default; ++export var Sub = function ();; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility.js new file mode 100644 index 0000000000..6ea1fe5f06 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility.js @@ -0,0 +1,67 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignedVisibility.ts] //// + +//// [obj.js] +module.exports = class Obj { + constructor() { + this.x = 12; + } +} +//// [index.js] +const Obj = require("./obj"); + +class Container { + constructor() { + this.usage = new Obj(); + } +} + +module.exports = Container; + +//// [obj.js] +export = class Obj { + constructor() { + this.x = 12; + } +}; +module.exports = class Obj { + constructor() { + this.x = 12; + } +}; +//// [index.js] +const Obj = require("./obj"); +class Container { + constructor() { + this.usage = new Obj(); + } +} +export = Container; +module.exports = Container; + + +//// [obj.d.ts] +declare const _default: { + new (): import("./obj"); +}; +export = _default; +//// [index.d.ts] +export = Container; + + +//// [DtsFileErrors] + + +out/index.d.ts(1,10): error TS2304: Cannot find name 'Container'. + + +==== out/index.d.ts (1 errors) ==== + export = Container; + ~~~~~~~~~ +!!! error TS2304: Cannot find name 'Container'. + +==== out/obj.d.ts (0 errors) ==== + declare const _default: { + new (): import("./obj"); + }; + export = _default; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility.js.diff new file mode 100644 index 0000000000..9deb7e4f9c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignedVisibility.js.diff @@ -0,0 +1,56 @@ +--- old.jsDeclarationsExportAssignedVisibility.js ++++ new.jsDeclarationsExportAssignedVisibility.js +@@= skipped -17, +17 lines =@@ + module.exports = Container; + + //// [obj.js] ++export = class Obj { ++ constructor() { ++ this.x = 12; ++ } ++}; + module.exports = class Obj { + constructor() { + this.x = 12; +@@= skipped -12, +17 lines =@@ + this.usage = new Obj(); + } + } ++export = Container; + module.exports = Container; + + + //// [obj.d.ts] +-export = Obj; +-declare class Obj { +- x: number; +-} ++declare const _default: { ++ new (): import("./obj"); ++}; ++export = _default; + //// [index.d.ts] + export = Container; +-declare class Container { +- usage: Obj; +-} +-import Obj = require("./obj"); ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(1,10): error TS2304: Cannot find name 'Container'. ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ export = Container; ++ ~~~~~~~~~ ++!!! error TS2304: Cannot find name 'Container'. ++ ++==== out/obj.d.ts (0 errors) ==== ++ declare const _default: { ++ new (): import("./obj"); ++ }; ++ export = _default; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js new file mode 100644 index 0000000000..1fafdc93b4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignmentExpressionPlusSecondary.ts] //// + +//// [index.js] +const Strings = { + a: "A", + b: "B" +}; +module.exports = { + thing: "ok", + also: "ok", + desc: { + item: "ok" + } +}; +module.exports.Strings = Strings; + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Strings = { + a: "A", + b: "B" +}; +export = { + thing: "ok", + also: "ok", + desc: { + item: "ok" + } +}; +module.exports = { + thing: "ok", + also: "ok", + desc: { + item: "ok" + } +}; +export var Strings = Strings; +module.exports.Strings = Strings; + + +//// [index.d.ts] +declare const _default: { + thing: string; + also: string; + desc: { + item: string; + }; +}; +export = _default; +export var Strings = Strings; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff new file mode 100644 index 0000000000..65c013a360 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentExpressionPlusSecondary.js.diff @@ -0,0 +1,49 @@ +--- old.jsDeclarationsExportAssignmentExpressionPlusSecondary.js ++++ new.jsDeclarationsExportAssignmentExpressionPlusSecondary.js +@@= skipped -15, +15 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const Strings = { + a: "A", + b: "B" + }; ++export = { ++ thing: "ok", ++ also: "ok", ++ desc: { ++ item: "ok" ++ } ++}; + module.exports = { + thing: "ok", + also: "ok", +@@= skipped -11, +20 lines =@@ + item: "ok" + } + }; ++export var Strings = Strings; + module.exports.Strings = Strings; + + + //// [index.d.ts] +-export namespace Strings { +- let a: string; +- let b: string; +-} +-export declare let thing: string; +-export declare let also: string; +-export declare namespace desc { +- let item: string; +-} ++declare const _default: { ++ thing: string; ++ also: string; ++ desc: { ++ item: string; ++ }; ++}; ++export = _default; ++export var Strings = Strings; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName.js new file mode 100644 index 0000000000..aa3e8fc3e1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportAssignmentWithKeywordName.ts] //// + +//// [index.js] +var x = 12; +module.exports = { + extends: 'base', + more: { + others: ['strs'] + }, + x +}; + +//// [index.js] +var x = 12; +module.exports = { + extends: 'base', + more: { + others: ['strs'] + }, + x +}; + + +//// [index.d.ts] +declare const _default: { + extends: string; + more: { + others: string[]; + }; + x: number; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName.js.diff new file mode 100644 index 0000000000..62756a37f2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportAssignmentWithKeywordName.js.diff @@ -0,0 +1,20 @@ +--- old.jsDeclarationsExportAssignmentWithKeywordName.js ++++ new.jsDeclarationsExportAssignmentWithKeywordName.js +@@= skipped -21, +21 lines =@@ + + + //// [index.d.ts] +-export var x: number; +-declare let _extends: string; +-export declare namespace more { +- let others: string[]; +-} +-export { _extends as extends }; ++declare const _default: { ++ extends: string; ++ more: { ++ others: string[]; ++ }; ++ x: number; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDefinePropertyEmit.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDefinePropertyEmit.js new file mode 100644 index 0000000000..1246defe14 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDefinePropertyEmit.js @@ -0,0 +1,151 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportDefinePropertyEmit.ts] //// + +//// [index.js] +Object.defineProperty(module.exports, "a", { value: function a() {} }); + +Object.defineProperty(module.exports, "b", { value: function b() {} }); +Object.defineProperty(module.exports.b, "cat", { value: "cat" }); + +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +function d(a, b) { return /** @type {*} */(null); } +Object.defineProperty(module.exports, "d", { value: d }); + + +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +function e(a, b) { return /** @type {*} */(null); } +Object.defineProperty(module.exports, "e", { value: e }); + +/** + * @template T + * @param {T} a + */ +function f(a) { + return a; +} +Object.defineProperty(module.exports, "f", { value: f }); +Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); + +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function g(a, b) { + return a.x && b.y(); +} +Object.defineProperty(module.exports, "g", { value: g }); + + +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function hh(a, b) { + return a.x && b.y(); +} +Object.defineProperty(module.exports, "h", { value: hh }); + +Object.defineProperty(module.exports, "i", { value: function i(){} }); +Object.defineProperty(module.exports, "ii", { value: module.exports.i }); + +// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings +Object.defineProperty(module.exports, "jj", { value: module.exports.j }); +Object.defineProperty(module.exports, "j", { value: function j() {} }); + + +//// [index.js] +Object.defineProperty(module.exports, "a", { value: function a() { } }); +Object.defineProperty(module.exports, "b", { value: function b() { } }); +Object.defineProperty(module.exports.b, "cat", { value: "cat" }); +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +function d(a, b) { return /** @type {*} */ null; } +Object.defineProperty(module.exports, "d", { value: d }); +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +function e(a, b) { return /** @type {*} */ null; } +Object.defineProperty(module.exports, "e", { value: e }); +/** + * @template T + * @param {T} a + */ +function f(a) { + return a; +} +Object.defineProperty(module.exports, "f", { value: f }); +Object.defineProperty(module.exports.f, "self", { value: module.exports.f }); +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function g(a, b) { + return a.x && b.y(); +} +Object.defineProperty(module.exports, "g", { value: g }); +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function hh(a, b) { + return a.x && b.y(); +} +Object.defineProperty(module.exports, "h", { value: hh }); +Object.defineProperty(module.exports, "i", { value: function i() { } }); +Object.defineProperty(module.exports, "ii", { value: module.exports.i }); +// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings +Object.defineProperty(module.exports, "jj", { value: module.exports.j }); +Object.defineProperty(module.exports, "j", { value: function j() { } }); + + +//// [index.d.ts] +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +declare function d(a: number, b: number): string; +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +declare function e(a: T, b: U): T & U; +/** + * @template T + * @param {T} a + */ +declare function f(a: T): T; +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +declare function g(a: { + x: string; +}, b: { + y: typeof module.exports.b; +}): any; +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +declare function hh(a: { + x: string; +}, b: { + y: typeof module.exports.b; +}): any; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDefinePropertyEmit.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDefinePropertyEmit.js.diff new file mode 100644 index 0000000000..5c76342990 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDefinePropertyEmit.js.diff @@ -0,0 +1,97 @@ +--- old.jsDeclarationsExportDefinePropertyEmit.js ++++ new.jsDeclarationsExportDefinePropertyEmit.js +@@= skipped -69, +69 lines =@@ + * @param {number} b + * @return {string} + */ +-function d(a, b) { return /** @type {*} */ (null); } ++function d(a, b) { return /** @type {*} */ null; } + Object.defineProperty(module.exports, "d", { value: d }); + /** + * @template T,U +@@= skipped -8, +8 lines =@@ + * @param {U} b + * @return {T & U} + */ +-function e(a, b) { return /** @type {*} */ (null); } ++function e(a, b) { return /** @type {*} */ null; } + Object.defineProperty(module.exports, "e", { value: e }); + /** + * @template T +@@= skipped -35, +35 lines =@@ + + + //// [index.d.ts] +-export function a(): void; +-export function b(): void; +-export namespace b { +- let cat: string; +-} + /** + * @param {number} a + * @param {number} b + * @return {string} + */ +-export function d(a: number, b: number): string; ++declare function d(a: number, b: number): string; + /** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +-export function e(a: T, b: U): T & U; ++declare function e(a: T, b: U): T & U; + /** + * @template T + * @param {T} a + */ +-export function f(a: T): T; +-export namespace f { +- /** +- * @template T +- * @param {T} a +- */ +- function self(a: T): T; +-} +-/** +- * @param {{x: string}} a +- * @param {{y: typeof module.exports.b}} b +- */ +-export function g(a: { +- x: string; +-}, b: { +- y: () => void; +-}): void; +-/** +- * @param {{x: string}} a +- * @param {{y: typeof module.exports.b}} b +- */ +-export function h(a: { +- x: string; +-}, b: { +- y: () => void; +-}): void; +-export function i(): void; +-export function ii(): void; +-export function jj(): void; +-export function j(): void; ++declare function f(a: T): T; ++/** ++ * @param {{x: string}} a ++ * @param {{y: typeof module.exports.b}} b ++ */ ++declare function g(a: { ++ x: string; ++}, b: { ++ y: typeof module.exports.b; ++}): any; ++/** ++ * @param {{x: string}} a ++ * @param {{y: typeof module.exports.b}} b ++ */ ++declare function hh(a: { ++ x: string; ++}, b: { ++ y: typeof module.exports.b; ++}): any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.js new file mode 100644 index 0000000000..1b4f947e51 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.js @@ -0,0 +1,34 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportDoubleAssignmentInClosure.ts] //// + +//// [index.js] +// @ts-nocheck +function foo() { + module.exports = exports = function (o) { + return (o == null) ? create(base) : defineProperties(Object(o), descriptors); + }; + const m = function () { + // I have no idea what to put here + } + exports.methods = m; +} + + +//// [index.js] +// @ts-nocheck +function foo() { + export = exports = function (o) { + return (o == null) ? create(base) : defineProperties(Object(o), descriptors); + }; + module.exports = exports = function (o) { + return (o == null) ? create(base) : defineProperties(Object(o), descriptors); + }; + const m = function () { + // I have no idea what to put here + }; + export var methods = m; + exports.methods = m; +} + + +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.js.diff new file mode 100644 index 0000000000..795f37ba62 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportDoubleAssignmentInClosure.js.diff @@ -0,0 +1,28 @@ +--- old.jsDeclarationsExportDoubleAssignmentInClosure.js ++++ new.jsDeclarationsExportDoubleAssignmentInClosure.js +@@= skipped -15, +15 lines =@@ + //// [index.js] + // @ts-nocheck + function foo() { ++ export = exports = function (o) { ++ return (o == null) ? create(base) : defineProperties(Object(o), descriptors); ++ }; + module.exports = exports = function (o) { + return (o == null) ? create(base) : defineProperties(Object(o), descriptors); + }; + const m = function () { + // I have no idea what to put here + }; ++ export var methods = m; + exports.methods = m; + } + + + //// [index.d.ts] +-declare function _exports(o: any): any; +-declare namespace _exports { +- export { m as methods }; +-} +-export = _exports; +-declare function m(): void; ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js new file mode 100644 index 0000000000..58e1e4b0ff --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js @@ -0,0 +1,295 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportForms.ts] //// + +//// [cls.js] +export class Foo {} + +//// [func.js] +export function func() {} + +//// [bar.js] +export * from "./cls"; + +//// [bar2.js] +export * from "./func"; +export * from "./cls"; + +//// [baz.js] +import {Foo} from "./cls"; +export {Foo}; + +//// [bat.js] +import * as ns from "./cls"; +export default ns; + +//// [ban.js] +import * as ns from "./cls"; +export {ns}; + +//// [bol.js] +import * as ns from "./cls"; +export { ns as classContainer }; + +//// [cjs.js] +const ns = require("./cls"); +module.exports = { ns }; + +//// [cjs2.js] +const ns = require("./cls"); +module.exports = ns; + +//// [cjs3.js] +const ns = require("./cls"); +module.exports.ns = ns; + +//// [cjs4.js] +const ns = require("./cls"); +module.exports.names = ns; + +//// [includeAll.js] +import "./cjs4"; +import "./cjs3"; +import "./cjs2"; +import "./cjs"; +import "./bol"; +import "./ban"; +import "./bat"; +import "./baz"; +import "./bar"; +import "./bar2"; + + +//// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo = void 0; +class Foo { +} +exports.Foo = Foo; +//// [func.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.func = func; +function func() { } +//// [bar.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./cls"), exports); +//// [bar2.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./func"), exports); +__exportStar(require("./cls"), exports); +//// [baz.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo = void 0; +const cls_1 = require("./cls"); +Object.defineProperty(exports, "Foo", { enumerable: true, get: function () { return cls_1.Foo; } }); +//// [bat.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const ns = require("./cls"); +exports.default = ns; +//// [ban.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ns = void 0; +const ns = require("./cls"); +exports.ns = ns; +//// [bol.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.classContainer = void 0; +const ns = require("./cls"); +exports.classContainer = ns; +//// [cjs.js] +const ns = require("./cls"); +module.exports = { ns }; +//// [cjs2.js] +const ns = require("./cls"); +export = ns; +module.exports = ns; +//// [cjs3.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const ns = require("./cls"); +export var ns = ns; +module.exports.ns = ns; +//// [cjs4.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const ns = require("./cls"); +export var names = ns; +module.exports.names = ns; +//// [includeAll.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./cjs4"); +require("./cjs3"); +require("./cjs2"); +require("./cjs"); +require("./bol"); +require("./ban"); +require("./bat"); +require("./baz"); +require("./bar"); +require("./bar2"); + + +//// [cls.d.ts] +export declare class Foo { +} +//// [func.d.ts] +export declare function func(): void; +//// [bar.d.ts] +export * from "./cls"; +//// [bar2.d.ts] +export * from "./func"; +export * from "./cls"; +//// [baz.d.ts] +import { Foo } from "./cls"; +export { Foo }; +//// [bat.d.ts] +import * as ns from "./cls"; +export default ns; +//// [ban.d.ts] +import * as ns from "./cls"; +export { ns }; +//// [bol.d.ts] +import * as ns from "./cls"; +export { ns as classContainer }; +//// [cjs.d.ts] +declare const ns: typeof ns; +declare const _default: { + ns: typeof ns; +}; +export = _default; +//// [cjs2.d.ts] +export = ns; +//// [cjs3.d.ts] +export var ns = ns; +export {}; +//// [cjs4.d.ts] +export var names = ns; +export {}; +//// [includeAll.d.ts] +import "./cjs4"; +import "./cjs3"; +import "./cjs2"; +import "./cjs"; +import "./bol"; +import "./ban"; +import "./bat"; +import "./baz"; +import "./bar"; +import "./bar2"; + + +//// [DtsFileErrors] + + +out/cjs.d.ts(1,15): error TS2502: 'ns' is referenced directly or indirectly in its own type annotation. +out/cjs2.d.ts(1,10): error TS2304: Cannot find name 'ns'. +out/cjs3.d.ts(1,17): error TS1039: Initializers are not allowed in ambient contexts. +out/cjs4.d.ts(1,20): error TS1039: Initializers are not allowed in ambient contexts. +out/cjs4.d.ts(1,20): error TS2304: Cannot find name 'ns'. + + +==== out/cls.d.ts (0 errors) ==== + export declare class Foo { + } + +==== out/func.d.ts (0 errors) ==== + export declare function func(): void; + +==== out/bar.d.ts (0 errors) ==== + export * from "./cls"; + +==== out/bar2.d.ts (0 errors) ==== + export * from "./func"; + export * from "./cls"; + +==== out/baz.d.ts (0 errors) ==== + import { Foo } from "./cls"; + export { Foo }; + +==== out/bat.d.ts (0 errors) ==== + import * as ns from "./cls"; + export default ns; + +==== out/ban.d.ts (0 errors) ==== + import * as ns from "./cls"; + export { ns }; + +==== out/bol.d.ts (0 errors) ==== + import * as ns from "./cls"; + export { ns as classContainer }; + +==== out/cjs.d.ts (1 errors) ==== + declare const ns: typeof ns; + ~~ +!!! error TS2502: 'ns' is referenced directly or indirectly in its own type annotation. + declare const _default: { + ns: typeof ns; + }; + export = _default; + +==== out/cjs2.d.ts (1 errors) ==== + export = ns; + ~~ +!!! error TS2304: Cannot find name 'ns'. + +==== out/cjs3.d.ts (1 errors) ==== + export var ns = ns; + ~~ +!!! error TS1039: Initializers are not allowed in ambient contexts. + export {}; + +==== out/cjs4.d.ts (2 errors) ==== + export var names = ns; + ~~ +!!! error TS1039: Initializers are not allowed in ambient contexts. + ~~ +!!! error TS2304: Cannot find name 'ns'. + export {}; + +==== out/includeAll.d.ts (0 errors) ==== + import "./cjs4"; + import "./cjs3"; + import "./cjs2"; + import "./cjs"; + import "./bol"; + import "./ban"; + import "./bat"; + import "./baz"; + import "./bar"; + import "./bar2"; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff new file mode 100644 index 0000000000..0d7c673b3d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportForms.js.diff @@ -0,0 +1,196 @@ +--- old.jsDeclarationsExportForms.js ++++ new.jsDeclarationsExportForms.js +@@= skipped -110, +110 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Foo = void 0; +-var cls_1 = require("./cls"); ++const cls_1 = require("./cls"); + Object.defineProperty(exports, "Foo", { enumerable: true, get: function () { return cls_1.Foo; } }); + //// [bat.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var ns = require("./cls"); ++const ns = require("./cls"); + exports.default = ns; + //// [ban.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.ns = void 0; +-var ns = require("./cls"); ++const ns = require("./cls"); + exports.ns = ns; + //// [bol.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.classContainer = void 0; +-var ns = require("./cls"); ++const ns = require("./cls"); + exports.classContainer = ns; + //// [cjs.js] + const ns = require("./cls"); + module.exports = { ns }; + //// [cjs2.js] + const ns = require("./cls"); ++export = ns; + module.exports = ns; + //// [cjs3.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const ns = require("./cls"); ++export var ns = ns; + module.exports.ns = ns; + //// [cjs4.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const ns = require("./cls"); ++export var names = ns; + module.exports.names = ns; + //// [includeAll.js] + "use strict"; +@@= skipped -47, +54 lines =@@ + + + //// [cls.d.ts] +-export class Foo { ++export declare class Foo { + } + //// [func.d.ts] +-export function func(): void; ++export declare function func(): void; + //// [bar.d.ts] + export * from "./cls"; + //// [bar2.d.ts] + export * from "./func"; + export * from "./cls"; + //// [baz.d.ts] +-export { Foo }; + import { Foo } from "./cls"; ++export { Foo }; + //// [bat.d.ts] ++import * as ns from "./cls"; + export default ns; +-import * as ns from "./cls"; + //// [ban.d.ts] +-export { ns }; + import * as ns from "./cls"; ++export { ns }; + //// [bol.d.ts] ++import * as ns from "./cls"; + export { ns as classContainer }; +-import * as ns from "./cls"; + //// [cjs.d.ts] +-export { ns }; +-import ns = require("./cls"); ++declare const ns: typeof ns; ++declare const _default: { ++ ns: typeof ns; ++}; ++export = _default; + //// [cjs2.d.ts] + export = ns; +-import ns = require("./cls"); + //// [cjs3.d.ts] +-export { ns }; +-import ns = require("./cls"); ++export var ns = ns; ++export {}; + //// [cjs4.d.ts] +-export { ns as names }; +-import ns = require("./cls"); ++export var names = ns; ++export {}; + //// [includeAll.d.ts] +-export {}; ++import "./cjs4"; ++import "./cjs3"; ++import "./cjs2"; ++import "./cjs"; ++import "./bol"; ++import "./ban"; ++import "./bat"; ++import "./baz"; ++import "./bar"; ++import "./bar2"; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/cjs.d.ts(1,15): error TS2502: 'ns' is referenced directly or indirectly in its own type annotation. ++out/cjs2.d.ts(1,10): error TS2304: Cannot find name 'ns'. ++out/cjs3.d.ts(1,17): error TS1039: Initializers are not allowed in ambient contexts. ++out/cjs4.d.ts(1,20): error TS1039: Initializers are not allowed in ambient contexts. ++out/cjs4.d.ts(1,20): error TS2304: Cannot find name 'ns'. ++ ++ ++==== out/cls.d.ts (0 errors) ==== ++ export declare class Foo { ++ } ++ ++==== out/func.d.ts (0 errors) ==== ++ export declare function func(): void; ++ ++==== out/bar.d.ts (0 errors) ==== ++ export * from "./cls"; ++ ++==== out/bar2.d.ts (0 errors) ==== ++ export * from "./func"; ++ export * from "./cls"; ++ ++==== out/baz.d.ts (0 errors) ==== ++ import { Foo } from "./cls"; ++ export { Foo }; ++ ++==== out/bat.d.ts (0 errors) ==== ++ import * as ns from "./cls"; ++ export default ns; ++ ++==== out/ban.d.ts (0 errors) ==== ++ import * as ns from "./cls"; ++ export { ns }; ++ ++==== out/bol.d.ts (0 errors) ==== ++ import * as ns from "./cls"; ++ export { ns as classContainer }; ++ ++==== out/cjs.d.ts (1 errors) ==== ++ declare const ns: typeof ns; ++ ~~ ++!!! error TS2502: 'ns' is referenced directly or indirectly in its own type annotation. ++ declare const _default: { ++ ns: typeof ns; ++ }; ++ export = _default; ++ ++==== out/cjs2.d.ts (1 errors) ==== ++ export = ns; ++ ~~ ++!!! error TS2304: Cannot find name 'ns'. ++ ++==== out/cjs3.d.ts (1 errors) ==== ++ export var ns = ns; ++ ~~ ++!!! error TS1039: Initializers are not allowed in ambient contexts. ++ export {}; ++ ++==== out/cjs4.d.ts (2 errors) ==== ++ export var names = ns; ++ ~~ ++!!! error TS1039: Initializers are not allowed in ambient contexts. ++ ~~ ++!!! error TS2304: Cannot find name 'ns'. ++ export {}; ++ ++==== out/includeAll.d.ts (0 errors) ==== ++ import "./cjs4"; ++ import "./cjs3"; ++ import "./cjs2"; ++ import "./cjs"; ++ import "./bol"; ++ import "./ban"; ++ import "./bat"; ++ import "./baz"; ++ import "./bar"; ++ import "./bar2"; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr.js new file mode 100644 index 0000000000..97faf031bb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr.js @@ -0,0 +1,81 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportFormsErr.ts] //// + +//// [cls.js] +export class Foo {} + +//// [bar.js] +import ns = require("./cls"); +export = ns; // TS Only + +//// [bin.js] +import * as ns from "./cls"; +module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in + +//// [globalNs.js] +export * from "./cls"; +export as namespace GLO; // TS Only + +//// [includeAll.js] +import "./bar"; +import "./bin"; +import "./globalNs"; + + +//// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foo = void 0; +class Foo { +} +exports.Foo = Foo; +//// [bar.js] +"use strict"; +const ns = require("./cls"); +module.exports = ns; +//// [bin.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const ns = require("./cls"); +export = ns; +module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in +//// [globalNs.js] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +__exportStar(require("./cls"), exports); +//// [includeAll.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./bar"); +require("./bin"); +require("./globalNs"); + + +//// [cls.d.ts] +export declare class Foo { +} +//// [bar.d.ts] +import ns = require("./cls"); +export = ns; // TS Only +//// [bin.d.ts] +export = ns; +//// [globalNs.d.ts] +export * from "./cls"; +export as namespace GLO; // TS Only +//// [includeAll.d.ts] +import "./bar"; +import "./bin"; +import "./globalNs"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr.js.diff new file mode 100644 index 0000000000..c704c74489 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportFormsErr.js.diff @@ -0,0 +1,40 @@ +--- old.jsDeclarationsExportFormsErr.js ++++ new.jsDeclarationsExportFormsErr.js +@@= skipped -29, +29 lines =@@ + exports.Foo = Foo; + //// [bar.js] + "use strict"; +-var ns = require("./cls"); ++const ns = require("./cls"); + module.exports = ns; + //// [bin.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var ns = require("./cls"); ++const ns = require("./cls"); ++export = ns; + module.exports = ns; // We refuse to bind cjs module exports assignments in the same file we find an import in + //// [globalNs.js] + "use strict"; +@@= skipped -34, +35 lines =@@ + + + //// [cls.d.ts] +-export class Foo { ++export declare class Foo { + } + //// [bar.d.ts] +-export = ns; + import ns = require("./cls"); ++export = ns; // TS Only + //// [bin.d.ts] +-export {}; ++export = ns; + //// [globalNs.d.ts] + export * from "./cls"; ++export as namespace GLO; // TS Only + //// [includeAll.d.ts] +-export {}; ++import "./bar"; ++import "./bin"; ++import "./globalNs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSpecifierNonlocal.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSpecifierNonlocal.js new file mode 100644 index 0000000000..60dc433439 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSpecifierNonlocal.js @@ -0,0 +1,35 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportSpecifierNonlocal.ts] //// + +//// [source.js] +export class Thing {} +export class OtherThing {} +//// [index.js] +export { Thing, OtherThing as default } from "./source"; + + +//// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.OtherThing = exports.Thing = void 0; +class Thing { +} +exports.Thing = Thing; +class OtherThing { +} +exports.OtherThing = OtherThing; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = exports.Thing = void 0; +const source_1 = require("./source"); +Object.defineProperty(exports, "Thing", { enumerable: true, get: function () { return source_1.Thing; } }); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return source_1.OtherThing; } }); + + +//// [source.d.ts] +export declare class Thing { +} +export declare class OtherThing { +} +//// [index.d.ts] +export { Thing, OtherThing as default } from "./source"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSpecifierNonlocal.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSpecifierNonlocal.js.diff new file mode 100644 index 0000000000..d87917fd2d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSpecifierNonlocal.js.diff @@ -0,0 +1,21 @@ +--- old.jsDeclarationsExportSpecifierNonlocal.js ++++ new.jsDeclarationsExportSpecifierNonlocal.js +@@= skipped -20, +20 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.default = exports.Thing = void 0; +-var source_1 = require("./source"); ++const source_1 = require("./source"); + Object.defineProperty(exports, "Thing", { enumerable: true, get: function () { return source_1.Thing; } }); + Object.defineProperty(exports, "default", { enumerable: true, get: function () { return source_1.OtherThing; } }); + + + //// [source.d.ts] +-export class Thing { ++export declare class Thing { + } +-export class OtherThing { ++export declare class OtherThing { + } + //// [index.d.ts] + export { Thing, OtherThing as default } from "./source"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js new file mode 100644 index 0000000000..0dd0b9d043 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js @@ -0,0 +1,29 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportSubAssignments.ts] //// + +//// [cls.js] +const Strings = { + a: "A", + b: "B" +}; +class Foo {} +module.exports = Foo; +module.exports.Strings = Strings; + +//// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const Strings = { + a: "A", + b: "B" +}; +class Foo { +} +export = Foo; +module.exports = Foo; +export var Strings = Strings; +module.exports.Strings = Strings; + + +//// [cls.d.ts] +export = Foo; +export var Strings = Strings; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff new file mode 100644 index 0000000000..94c7fd4dbd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportSubAssignments.js.diff @@ -0,0 +1,32 @@ +--- old.jsDeclarationsExportSubAssignments.js ++++ new.jsDeclarationsExportSubAssignments.js +@@= skipped -9, +9 lines =@@ + module.exports.Strings = Strings; + + //// [cls.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const Strings = { + a: "A", + b: "B" + }; + class Foo { + } ++export = Foo; + module.exports = Foo; ++export var Strings = Strings; + module.exports.Strings = Strings; + + + //// [cls.d.ts] + export = Foo; +-declare class Foo { +-} +-declare namespace Foo { +- export { Strings }; +-} +-declare namespace Strings { +- let a: string; +- let b: string; +-} ++export var Strings = Strings; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.js new file mode 100644 index 0000000000..d6a656e739 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.js @@ -0,0 +1,59 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsExportedClassAliases.ts] //// + +//// [errors.js] +class FancyError extends Error { + constructor(status) { + super(`error with status ${status}`); + } +} + +module.exports = { + FancyError +}; + +//// [index.js] +// issue arises here on compilation +const errors = require("./errors"); + +module.exports = { + errors +}; + +//// [errors.js] +class FancyError extends Error { + constructor(status) { + super(`error with status ${status}`); + } +} +module.exports = { + FancyError +}; +//// [index.js] +// issue arises here on compilation +const errors = require("./errors"); +module.exports = { + errors +}; + + +//// [errors.d.ts] +declare class FancyError extends Error { + constructor(status: any); +} +declare const _default: { + FancyError: typeof FancyError; +}; +export = _default; +//// [index.d.ts] +declare const _default: { + errors: { + FancyError: { + new (status: any): { + name: string; + message: string; + stack?: string; + }; + }; + }; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.js.diff new file mode 100644 index 0000000000..e76ad044b3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsExportedClassAliases.js.diff @@ -0,0 +1,29 @@ +--- old.jsDeclarationsExportedClassAliases.js ++++ new.jsDeclarationsExportedClassAliases.js +@@= skipped -36, +36 lines =@@ + + + //// [errors.d.ts] +-export class FancyError extends Error { ++declare class FancyError extends Error { + constructor(status: any); + } ++declare const _default: { ++ FancyError: typeof FancyError; ++}; ++export = _default; + //// [index.d.ts] +-export { errors }; +-import errors = require("./errors"); ++declare const _default: { ++ errors: { ++ FancyError: { ++ new (status: any): { ++ name: string; ++ message: string; ++ stack?: string; ++ }; ++ }; ++ }; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js new file mode 100644 index 0000000000..8038dc5993 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js @@ -0,0 +1,164 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionClassesCjsExportAssignment.ts] //// + +//// [timer.js] +/** + * @param {number} timeout + */ +function Timer(timeout) { + this.timeout = timeout; +} +module.exports = Timer; +//// [hook.js] +/** + * @typedef {(arg: import("./context")) => void} HookHandler + */ +/** + * @param {HookHandler} handle + */ +function Hook(handle) { + this.handle = handle; +} +module.exports = Hook; + +//// [context.js] +/** + * Imports + * + * @typedef {import("./timer")} Timer + * @typedef {import("./hook")} Hook + * @typedef {import("./hook").HookHandler} HookHandler + */ + +/** + * Input type definition + * + * @typedef {Object} Input + * @prop {Timer} timer + * @prop {Hook} hook + */ + +/** + * State type definition + * + * @typedef {Object} State + * @prop {Timer} timer + * @prop {Hook} hook + */ + +/** + * New `Context` + * + * @class + * @param {Input} input + */ + +function Context(input) { + if (!(this instanceof Context)) { + return new Context(input) + } + this.state = this.construct(input); +} +Context.prototype = { + /** + * @param {Input} input + * @param {HookHandler=} handle + * @returns {State} + */ + construct(input, handle = () => void 0) { + return input; + } +} +module.exports = Context; + + +//// [timer.js] +/** + * @param {number} timeout + */ +function Timer(timeout) { + this.timeout = timeout; +} +export = Timer; +module.exports = Timer; +//// [context.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Imports + * + * @typedef {import("./timer")} Timer + * @typedef {import("./hook")} Hook + * @typedef {import("./hook").HookHandler} HookHandler + */ +/** + * Input type definition + * + * @typedef {Object} Input + * @prop {Timer} timer + * @prop {Hook} hook + */ +/** + * State type definition + * + * @typedef {Object} State + * @prop {Timer} timer + * @prop {Hook} hook + */ +/** + * New `Context` + * + * @class + * @param {Input} input + */ +function Context(input) { + if (!(this instanceof Context)) { + return new Context(input); + } + this.state = this.construct(input); +} +Context.prototype = { + /** + * @param {Input} input + * @param {HookHandler=} handle + * @returns {State} + */ + construct(input, handle = () => void 0) { + return input; + } +}; +export = Context; +module.exports = Context; +//// [hook.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {(arg: import("./context")) => void} HookHandler + */ +/** + * @param {HookHandler} handle + */ +function Hook(handle) { + this.handle = handle; +} +export = Hook; +module.exports = Hook; + + +//// [timer.d.ts] +export = Timer; +//// [context.d.ts] +export type Timer = import("./timer"); +export type Hook = import("./hook"); +export type HookHandler = import("./hook").HookHandler; +export type Input = { + timer: Timer; + hook: Hook; +}; +export type State = { + timer: Timer; + hook: Hook; +}; +export = Context; +//// [hook.d.ts] +export type HookHandler = (arg: import("./context")) => void; +export = Hook; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff new file mode 100644 index 0000000000..6f918307d3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionClassesCjsExportAssignment.js.diff @@ -0,0 +1,178 @@ +--- old.jsDeclarationsFunctionClassesCjsExportAssignment.js ++++ new.jsDeclarationsFunctionClassesCjsExportAssignment.js +@@= skipped -77, +77 lines =@@ + function Timer(timeout) { + this.timeout = timeout; + } ++export = Timer; + module.exports = Timer; + //// [context.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * Imports + * +@@= skipped -45, +48 lines =@@ + return input; + } + }; ++export = Context; + module.exports = Context; + //// [hook.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {(arg: import("./context")) => void} HookHandler + */ +@@= skipped -11, +14 lines =@@ + function Hook(handle) { + this.handle = handle; + } ++export = Hook; + module.exports = Hook; + + + //// [timer.d.ts] + export = Timer; +-/** +- * @param {number} timeout +- */ +-declare function Timer(timeout: number): void; +-declare class Timer { +- /** +- * @param {number} timeout +- */ +- constructor(timeout: number); +- timeout: number; +-} + //// [context.d.ts] ++export type Timer = import("./timer"); ++export type Hook = import("./hook"); ++export type HookHandler = import("./hook").HookHandler; ++export type Input = { ++ timer: Timer; ++ hook: Hook; ++}; ++export type State = { ++ timer: Timer; ++ hook: Hook; ++}; + export = Context; +-/** +- * Imports +- * +- * @typedef {import("./timer")} Timer +- * @typedef {import("./hook")} Hook +- * @typedef {import("./hook").HookHandler} HookHandler +- */ +-/** +- * Input type definition +- * +- * @typedef {Object} Input +- * @prop {Timer} timer +- * @prop {Hook} hook +- */ +-/** +- * State type definition +- * +- * @typedef {Object} State +- * @prop {Timer} timer +- * @prop {Hook} hook +- */ +-/** +- * New `Context` +- * +- * @class +- * @param {Input} input +- */ +-declare function Context(input: Input): Context; +-declare class Context { +- /** +- * Imports +- * +- * @typedef {import("./timer")} Timer +- * @typedef {import("./hook")} Hook +- * @typedef {import("./hook").HookHandler} HookHandler +- */ +- /** +- * Input type definition +- * +- * @typedef {Object} Input +- * @prop {Timer} timer +- * @prop {Hook} hook +- */ +- /** +- * State type definition +- * +- * @typedef {Object} State +- * @prop {Timer} timer +- * @prop {Hook} hook +- */ +- /** +- * New `Context` +- * +- * @class +- * @param {Input} input +- */ +- constructor(input: Input); +- state: any; +- /** +- * @param {Input} input +- * @param {HookHandler=} handle +- * @returns {State} +- */ +- construct(input: Input, handle?: HookHandler | undefined): State; +-} +-declare namespace Context { +- export { Timer, Hook, HookHandler, Input, State }; +-} +-/** +- * Imports +- */ +-type Timer = import("./timer"); +-/** +- * Imports +- */ +-type Hook = import("./hook"); +-/** +- * Imports +- */ +-type HookHandler = import("./hook").HookHandler; +-/** +- * Input type definition +- */ +-type Input = { +- timer: Timer; +- hook: Hook; +-}; +-/** +- * State type definition +- */ +-type State = { +- timer: Timer; +- hook: Hook; +-}; + //// [hook.d.ts] ++export type HookHandler = (arg: import("./context")) => void; + export = Hook; +-/** +- * @typedef {(arg: import("./context")) => void} HookHandler +- */ +-/** +- * @param {HookHandler} handle +- */ +-declare function Hook(handle: HookHandler): void; +-declare class Hook { +- /** +- * @typedef {(arg: import("./context")) => void} HookHandler +- */ +- /** +- * @param {HookHandler} handle +- */ +- constructor(handle: HookHandler); +- handle: HookHandler; +-} +-declare namespace Hook { +- export { HookHandler }; +-} +-type HookHandler = (arg: import("./context")) => void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionJSDoc.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionJSDoc.js new file mode 100644 index 0000000000..97ea0e39b4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionJSDoc.js @@ -0,0 +1,105 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionJSDoc.ts] //// + +//// [source.js] +/** + * Foos a bar together using an `a` and a `b` + * @param {number} a + * @param {string} b + */ +export function foo(a, b) {} + +/** + * Legacy - DO NOT USE + */ +export class Aleph { + /** + * Impossible to construct. + * @param {Aleph} a + * @param {null} b + */ + constructor(a, b) { + /** + * Field is always null + */ + this.field = b; + } + + /** + * Doesn't actually do anything + * @returns {void} + */ + doIt() {} +} + +/** + * Not the speed of light + */ +export const c = 12; + + +//// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.c = exports.Aleph = void 0; +exports.foo = foo; +/** + * Foos a bar together using an `a` and a `b` + * @param {number} a + * @param {string} b + */ +function foo(a, b) { } +/** + * Legacy - DO NOT USE + */ +class Aleph { + /** + * Impossible to construct. + * @param {Aleph} a + * @param {null} b + */ + constructor(a, b) { + /** + * Field is always null + */ + this.field = b; + } + /** + * Doesn't actually do anything + * @returns {void} + */ + doIt() { } +} +exports.Aleph = Aleph; +/** + * Not the speed of light + */ +exports.c = 12; + + +//// [source.d.ts] +/** + * Foos a bar together using an `a` and a `b` + * @param {number} a + * @param {string} b + */ +export declare function foo(a: number, b: string): void; +/** + * Legacy - DO NOT USE + */ +export declare class Aleph { + /** + * Impossible to construct. + * @param {Aleph} a + * @param {null} b + */ + constructor(a: Aleph, b: null); + /** + * Doesn't actually do anything + * @returns {void} + */ + doIt(): void; +} +/** + * Not the speed of light + */ +export declare const c = 12; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionJSDoc.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionJSDoc.js.diff new file mode 100644 index 0000000000..9c49d1cead --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionJSDoc.js.diff @@ -0,0 +1,33 @@ +--- old.jsDeclarationsFunctionJSDoc.js ++++ new.jsDeclarationsFunctionJSDoc.js +@@= skipped -81, +81 lines =@@ + * @param {number} a + * @param {string} b + */ +-export function foo(a: number, b: string): void; ++export declare function foo(a: number, b: string): void; + /** + * Legacy - DO NOT USE + */ +-export class Aleph { ++export declare class Aleph { + /** + * Impossible to construct. + * @param {Aleph} a +@@= skipped -12, +12 lines =@@ + */ + constructor(a: Aleph, b: null); + /** +- * Field is always null +- */ +- field: any; +- /** + * Doesn't actually do anything + * @returns {void} + */ +@@= skipped -12, +8 lines =@@ + /** + * Not the speed of light + */ +-export const c: 12; ++export declare const c = 12; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordProp.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordProp.js new file mode 100644 index 0000000000..4b6e7dcc70 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordProp.js @@ -0,0 +1,29 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionKeywordProp.ts] //// + +//// [source.js] +function foo() {} +foo.null = true; + +function bar() {} +bar.async = true; +bar.normal = false; + +function baz() {} +baz.class = true; +baz.normal = false; + +//// [source.js] +function foo() { } +foo.null = true; +function bar() { } +bar.async = true; +bar.normal = false; +function baz() { } +baz.class = true; +baz.normal = false; + + +//// [source.d.ts] +declare function foo(): void; +declare function bar(): void; +declare function baz(): void; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordProp.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordProp.js.diff new file mode 100644 index 0000000000..d529325b10 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordProp.js.diff @@ -0,0 +1,22 @@ +--- old.jsDeclarationsFunctionKeywordProp.js ++++ new.jsDeclarationsFunctionKeywordProp.js +@@= skipped -24, +24 lines =@@ + + //// [source.d.ts] + declare function foo(): void; +-declare namespace foo { +- let _null: boolean; +- export { _null as null }; +-} + declare function bar(): void; +-declare namespace bar { +- let async: boolean; +- let normal: boolean; +-} + declare function baz(): void; +-declare namespace baz { +- let _class: boolean; +- export { _class as class }; +- let normal_1: boolean; +- export { normal_1 as normal }; +-} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordPropExhaustive.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordPropExhaustive.js new file mode 100644 index 0000000000..b7bc4713a4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordPropExhaustive.js @@ -0,0 +1,172 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionKeywordPropExhaustive.ts] //// + +//// [source.js] +function foo() {} +// properties +foo.x = 1; +foo.y = 1; + +// keywords +foo.break = 1; +foo.case = 1; +foo.catch = 1; +foo.class = 1; +foo.const = 1; +foo.continue = 1; +foo.debugger = 1; +foo.default = 1; +foo.delete = 1; +foo.do = 1; +foo.else = 1; +foo.enum = 1; +foo.export = 1; +foo.extends = 1; +foo.false = 1; +foo.finally = 1; +foo.for = 1; +foo.function = 1; +foo.if = 1; +foo.import = 1; +foo.in = 1; +foo.instanceof = 1; +foo.new = 1; +foo.null = 1; +foo.return = 1; +foo.super = 1; +foo.switch = 1; +foo.this = 1; +foo.throw = 1; +foo.true = 1; +foo.try = 1; +foo.typeof = 1; +foo.var = 1; +foo.void = 1; +foo.while = 1; +foo.with = 1; +foo.implements = 1; +foo.interface = 1; +foo.let = 1; +foo.package = 1; +foo.private = 1; +foo.protected = 1; +foo.public = 1; +foo.static = 1; +foo.yield = 1; +foo.abstract = 1; +foo.as = 1; +foo.asserts = 1; +foo.any = 1; +foo.async = 1; +foo.await = 1; +foo.boolean = 1; +foo.constructor = 1; +foo.declare = 1; +foo.get = 1; +foo.infer = 1; +foo.is = 1; +foo.keyof = 1; +foo.module = 1; +foo.namespace = 1; +foo.never = 1; +foo.readonly = 1; +foo.require = 1; +foo.number = 1; +foo.object = 1; +foo.set = 1; +foo.string = 1; +foo.symbol = 1; +foo.type = 1; +foo.undefined = 1; +foo.unique = 1; +foo.unknown = 1; +foo.from = 1; +foo.global = 1; +foo.bigint = 1; +foo.of = 1; + +//// [source.js] +function foo() { } +// properties +foo.x = 1; +foo.y = 1; +// keywords +foo.break = 1; +foo.case = 1; +foo.catch = 1; +foo.class = 1; +foo.const = 1; +foo.continue = 1; +foo.debugger = 1; +foo.default = 1; +foo.delete = 1; +foo.do = 1; +foo.else = 1; +foo.enum = 1; +foo.export = 1; +foo.extends = 1; +foo.false = 1; +foo.finally = 1; +foo.for = 1; +foo.function = 1; +foo.if = 1; +foo.import = 1; +foo.in = 1; +foo.instanceof = 1; +foo.new = 1; +foo.null = 1; +foo.return = 1; +foo.super = 1; +foo.switch = 1; +foo.this = 1; +foo.throw = 1; +foo.true = 1; +foo.try = 1; +foo.typeof = 1; +foo.var = 1; +foo.void = 1; +foo.while = 1; +foo.with = 1; +foo.implements = 1; +foo.interface = 1; +foo.let = 1; +foo.package = 1; +foo.private = 1; +foo.protected = 1; +foo.public = 1; +foo.static = 1; +foo.yield = 1; +foo.abstract = 1; +foo.as = 1; +foo.asserts = 1; +foo.any = 1; +foo.async = 1; +foo.await = 1; +foo.boolean = 1; +foo.constructor = 1; +foo.declare = 1; +foo.get = 1; +foo.infer = 1; +foo.is = 1; +foo.keyof = 1; +foo.module = 1; +foo.namespace = 1; +foo.never = 1; +foo.readonly = 1; +foo.require = 1; +foo.number = 1; +foo.object = 1; +foo.set = 1; +foo.string = 1; +foo.symbol = 1; +foo.type = 1; +foo.undefined = 1; +foo.unique = 1; +foo.unknown = 1; +foo.from = 1; +foo.global = 1; +foo.bigint = 1; +foo.of = 1; + + +//// [source.d.ts] +declare function foo(): void; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordPropExhaustive.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordPropExhaustive.js.diff new file mode 100644 index 0000000000..fa3f869313 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionKeywordPropExhaustive.js.diff @@ -0,0 +1,131 @@ +--- old.jsDeclarationsFunctionKeywordPropExhaustive.js ++++ new.jsDeclarationsFunctionKeywordPropExhaustive.js +@@= skipped -169, +169 lines =@@ + + //// [source.d.ts] + declare function foo(): void; +-declare namespace foo { +- export let x: number; +- export let y: number; +- let _break: number; +- export { _break as break }; +- let _case: number; +- export { _case as case }; +- let _catch: number; +- export { _catch as catch }; +- let _class: number; +- export { _class as class }; +- let _const: number; +- export { _const as const }; +- let _continue: number; +- export { _continue as continue }; +- let _debugger: number; +- export { _debugger as debugger }; +- let _default: number; +- export { _default as default }; +- let _delete: number; +- export { _delete as delete }; +- let _do: number; +- export { _do as do }; +- let _else: number; +- export { _else as else }; +- let _enum: number; +- export { _enum as enum }; +- let _export: number; +- export { _export as export }; +- let _extends: number; +- export { _extends as extends }; +- let _false: number; +- export { _false as false }; +- let _finally: number; +- export { _finally as finally }; +- let _for: number; +- export { _for as for }; +- let _function: number; +- export { _function as function }; +- let _if: number; +- export { _if as if }; +- let _import: number; +- export { _import as import }; +- let _in: number; +- export { _in as in }; +- let _instanceof: number; +- export { _instanceof as instanceof }; +- let _new: number; +- export { _new as new }; +- let _null: number; +- export { _null as null }; +- let _return: number; +- export { _return as return }; +- let _super: number; +- export { _super as super }; +- let _switch: number; +- export { _switch as switch }; +- let _this: number; +- export { _this as this }; +- let _throw: number; +- export { _throw as throw }; +- let _true: number; +- export { _true as true }; +- let _try: number; +- export { _try as try }; +- let _typeof: number; +- export { _typeof as typeof }; +- let _var: number; +- export { _var as var }; +- let _void: number; +- export { _void as void }; +- let _while: number; +- export { _while as while }; +- let _with: number; +- export { _with as with }; +- let _implements: number; +- export { _implements as implements }; +- let _interface: number; +- export { _interface as interface }; +- let _let: number; +- export { _let as let }; +- let _package: number; +- export { _package as package }; +- let _private: number; +- export { _private as private }; +- let _protected: number; +- export { _protected as protected }; +- let _public: number; +- export { _public as public }; +- let _static: number; +- export { _static as static }; +- let _yield: number; +- export { _yield as yield }; +- export let abstract: number; +- export let as: number; +- export let asserts: number; +- export let any: number; +- export let async: number; +- export let await: number; +- export let boolean: number; +- export let constructor: number; +- export let declare: number; +- export let get: number; +- export let infer: number; +- export let is: number; +- export let keyof: number; +- export let module: number; +- export let namespace: number; +- export let never: number; +- export let readonly: number; +- export let require: number; +- export let number: number; +- export let object: number; +- export let set: number; +- export let string: number; +- export let symbol: number; +- export let type: number; +- export let undefined: number; +- export let unique: number; +- export let unknown: number; +- export let from: number; +- export let global: number; +- export let bigint: number; +- export let of: number; +-} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses.js new file mode 100644 index 0000000000..feed0a0872 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses.js @@ -0,0 +1,65 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionLikeClasses.ts] //// + +//// [source.js] +/** + * @param {number} x + * @param {number} y + */ +export function Point(x, y) { + if (!(this instanceof Point)) { + return new Point(x, y); + } + this.x = x; + this.y = y; +} + +//// [referencer.js] +import {Point} from "./source"; + +/** + * @param {Point} p + */ +export function magnitude(p) { + return Math.sqrt(p.x ** 2 + p.y ** 2); +} + + +//// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Point = Point; +/** + * @param {number} x + * @param {number} y + */ +function Point(x, y) { + if (!(this instanceof Point)) { + return new Point(x, y); + } + this.x = x; + this.y = y; +} +//// [referencer.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.magnitude = magnitude; +const source_1 = require("./source"); +/** + * @param {Point} p + */ +function magnitude(p) { + return Math.sqrt(p.x ** 2 + p.y ** 2); +} + + +//// [source.d.ts] +/** + * @param {number} x + * @param {number} y + */ +export declare function Point(x: number, y: number): any; +//// [referencer.d.ts] +/** + * @param {Point} p + */ +export declare function magnitude(p: Point): number; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses.js.diff new file mode 100644 index 0000000000..f3643531ac --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses.js.diff @@ -0,0 +1,39 @@ +--- old.jsDeclarationsFunctionLikeClasses.js ++++ new.jsDeclarationsFunctionLikeClasses.js +@@= skipped -42, +42 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.magnitude = magnitude; +-var source_1 = require("./source"); ++const source_1 = require("./source"); + /** + * @param {Point} p + */ + function magnitude(p) { +- return Math.sqrt(Math.pow(p.x, 2) + Math.pow(p.y, 2)); ++ return Math.sqrt(p.x ** 2 + p.y ** 2); + } + + +@@= skipped -14, +14 lines =@@ + * @param {number} x + * @param {number} y + */ +-export function Point(x: number, y: number): Point; +-export class Point { +- /** +- * @param {number} x +- * @param {number} y +- */ +- constructor(x: number, y: number); +- x: number; +- y: number; +-} ++export declare function Point(x: number, y: number): any; + //// [referencer.d.ts] + /** + * @param {Point} p + */ +-export function magnitude(p: Point): number; +-import { Point } from "./source"; ++export declare function magnitude(p: Point): number; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses2.js new file mode 100644 index 0000000000..dd71c7db12 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses2.js @@ -0,0 +1,169 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionLikeClasses2.ts] //// + +//// [source.js] +/** + * @param {number} len + */ +export function Vec(len) { + /** + * @type {number[]} + */ + this.storage = new Array(len); +} + +Vec.prototype = { + /** + * @param {Vec} other + */ + dot(other) { + if (other.storage.length !== this.storage.length) { + throw new Error(`Dot product only applicable for vectors of equal length`); + } + let sum = 0; + for (let i = 0; i < this.storage.length; i++) { + sum += (this.storage[i] * other.storage[i]); + } + return sum; + }, + magnitude() { + let sum = 0; + for (let i = 0; i < this.storage.length; i++) { + sum += (this.storage[i] ** 2); + } + return Math.sqrt(sum); + } +} + +/** + * @param {number} x + * @param {number} y + */ +export function Point2D(x, y) { + if (!(this instanceof Point2D)) { + return new Point2D(x, y); + } + Vec.call(this, 2); + this.x = x; + this.y = y; +} + +Point2D.prototype = { + __proto__: Vec, + get x() { + return this.storage[0]; + }, + /** + * @param {number} x + */ + set x(x) { + this.storage[0] = x; + }, + get y() { + return this.storage[1]; + }, + /** + * @param {number} y + */ + set y(y) { + this.storage[1] = y; + } +}; + +//// [referencer.js] +import {Point2D} from "./source"; + +export const origin = new Point2D(0, 0); +// export const res = Point2D(2, 3).dot(origin); // TODO: when __proto__ works, validate this + + +//// [source.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Vec = Vec; +exports.Point2D = Point2D; +/** + * @param {number} len + */ +function Vec(len) { + /** + * @type {number[]} + */ + this.storage = new Array(len); +} +Vec.prototype = { + /** + * @param {Vec} other + */ + dot(other) { + if (other.storage.length !== this.storage.length) { + throw new Error(`Dot product only applicable for vectors of equal length`); + } + let sum = 0; + for (let i = 0; i < this.storage.length; i++) { + sum += (this.storage[i] * other.storage[i]); + } + return sum; + }, + magnitude() { + let sum = 0; + for (let i = 0; i < this.storage.length; i++) { + sum += (this.storage[i] ** 2); + } + return Math.sqrt(sum); + } +}; +/** + * @param {number} x + * @param {number} y + */ +function Point2D(x, y) { + if (!(this instanceof Point2D)) { + return new Point2D(x, y); + } + Vec.call(this, 2); + this.x = x; + this.y = y; +} +Point2D.prototype = { + __proto__: Vec, + get x() { + return this.storage[0]; + }, + /** + * @param {number} x + */ + set x(x) { + this.storage[0] = x; + }, + get y() { + return this.storage[1]; + }, + /** + * @param {number} y + */ + set y(y) { + this.storage[1] = y; + } +}; +//// [referencer.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.origin = void 0; +const source_1 = require("./source"); +exports.origin = new source_1.Point2D(0, 0); +// export const res = Point2D(2, 3).dot(origin); // TODO: when __proto__ works, validate this + + +//// [source.d.ts] +/** + * @param {number} len + */ +export declare function Vec(len: number): void; +/** + * @param {number} x + * @param {number} y + */ +export declare function Point2D(x: number, y: number): any; +//// [referencer.d.ts] +export declare const origin: any; +// export const res = Point2D(2, 3).dot(origin); // TODO: when __proto__ works, validate this diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses2.js.diff new file mode 100644 index 0000000000..6efbecbcf8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionLikeClasses2.js.diff @@ -0,0 +1,70 @@ +--- old.jsDeclarationsFunctionLikeClasses2.js ++++ new.jsDeclarationsFunctionLikeClasses2.js +@@= skipped -106, +106 lines =@@ + magnitude() { + let sum = 0; + for (let i = 0; i < this.storage.length; i++) { +- sum += (Math.pow(this.storage[i], 2)); ++ sum += (this.storage[i] ** 2); + } + return Math.sqrt(sum); + } +@@= skipped -42, +42 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.origin = void 0; +-var source_1 = require("./source"); ++const source_1 = require("./source"); + exports.origin = new source_1.Point2D(0, 0); + // export const res = Point2D(2, 3).dot(origin); // TODO: when __proto__ works, validate this + +@@= skipped -9, +9 lines =@@ + /** + * @param {number} len + */ +-export function Vec(len: number): void; +-export class Vec { +- /** +- * @param {number} len +- */ +- constructor(len: number); +- /** +- * @type {number[]} +- */ +- storage: number[]; +- /** +- * @param {Vec} other +- */ +- dot(other: Vec): number; +- magnitude(): number; +-} ++export declare function Vec(len: number): void; + /** + * @param {number} x + * @param {number} y + */ +-export function Point2D(x: number, y: number): Point2D; +-export class Point2D { +- /** +- * @param {number} x +- * @param {number} y +- */ +- constructor(x: number, y: number); +- /** +- * @param {number} x +- */ +- set x(x: number); +- get x(): number; +- /** +- * @param {number} y +- */ +- set y(y: number); +- get y(): number; +- __proto__: typeof Vec; +-} ++export declare function Point2D(x: number, y: number): any; + //// [referencer.d.ts] +-export const origin: Point2D; +-import { Point2D } from "./source"; ++export declare const origin: any; ++// export const res = Point2D(2, 3).dot(origin); // TODO: when __proto__ works, validate this \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js new file mode 100644 index 0000000000..b8f6a0ecb8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js @@ -0,0 +1,59 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionPrototypeStatic.ts] //// + +//// [source.js] +module.exports = MyClass; + +function MyClass() {} +MyClass.staticMethod = function() {} +MyClass.prototype.method = function() {} +MyClass.staticProperty = 123; + +/** + * Callback to be invoked when test execution is complete. + * + * @callback DoneCB + * @param {number} failures - Number of failures that occurred. + */ + +//// [source.js] +export = MyClass; +module.exports = MyClass; +function MyClass() { } +MyClass.staticMethod = function () { }; +MyClass.prototype.method = function () { }; +MyClass.staticProperty = 123; +/** + * Callback to be invoked when test execution is complete. + * + * @callback DoneCB + * @param {number} failures - Number of failures that occurred. + */ + + +//// [source.d.ts] +export = MyClass; +/** + * Callback to be invoked when test execution is complete. + * + * @callback DoneCB + * @param {number} failures - Number of failures that occurred. + */ + + +//// [DtsFileErrors] + + +out/source.d.ts(1,10): error TS2304: Cannot find name 'MyClass'. + + +==== out/source.d.ts (1 errors) ==== + export = MyClass; + ~~~~~~~ +!!! error TS2304: Cannot find name 'MyClass'. + /** + * Callback to be invoked when test execution is complete. + * + * @callback DoneCB + * @param {number} failures - Number of failures that occurred. + */ + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff new file mode 100644 index 0000000000..f6139cee0c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionPrototypeStatic.js.diff @@ -0,0 +1,50 @@ +--- old.jsDeclarationsFunctionPrototypeStatic.js ++++ new.jsDeclarationsFunctionPrototypeStatic.js +@@= skipped -15, +15 lines =@@ + */ + + //// [source.js] ++export = MyClass; + module.exports = MyClass; + function MyClass() { } + MyClass.staticMethod = function () { }; +@@= skipped -15, +16 lines =@@ + + //// [source.d.ts] + export = MyClass; +-declare function MyClass(): void; +-declare class MyClass { +- method(): void; +-} +-declare namespace MyClass { +- export { staticMethod, staticProperty, DoneCB }; +-} +-declare function staticMethod(): void; +-declare var staticProperty: number; + /** + * Callback to be invoked when test execution is complete. +- */ +-type DoneCB = (failures: number) => any; ++ * ++ * @callback DoneCB ++ * @param {number} failures - Number of failures that occurred. ++ */ ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/source.d.ts(1,10): error TS2304: Cannot find name 'MyClass'. ++ ++ ++==== out/source.d.ts (1 errors) ==== ++ export = MyClass; ++ ~~~~~~~ ++!!! error TS2304: Cannot find name 'MyClass'. ++ /** ++ * Callback to be invoked when test execution is complete. ++ * ++ * @callback DoneCB ++ * @param {number} failures - Number of failures that occurred. ++ */ ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.js new file mode 100644 index 0000000000..d76ffef284 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionWithDefaultAssignedMember.ts] //// + +//// [index.js] +function foo() {} + +foo.foo = foo; +foo.default = foo; +module.exports = foo; + +//// [index.js] +function foo() { } +foo.foo = foo; +foo.default = foo; +export = foo; +module.exports = foo; + + +//// [index.d.ts] +export = foo; + + +//// [DtsFileErrors] + + +out/index.d.ts(1,10): error TS2304: Cannot find name 'foo'. + + +==== out/index.d.ts (1 errors) ==== + export = foo; + ~~~ +!!! error TS2304: Cannot find name 'foo'. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.js.diff new file mode 100644 index 0000000000..b57b340c63 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionWithDefaultAssignedMember.js.diff @@ -0,0 +1,30 @@ +--- old.jsDeclarationsFunctionWithDefaultAssignedMember.js ++++ new.jsDeclarationsFunctionWithDefaultAssignedMember.js +@@= skipped -10, +10 lines =@@ + function foo() { } + foo.foo = foo; + foo.default = foo; ++export = foo; + module.exports = foo; + + + //// [index.d.ts] + export = foo; +-declare function foo(): void; +-declare namespace foo { +- export { foo }; +- export { foo as default }; +-} ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(1,10): error TS2304: Cannot find name 'foo'. ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ export = foo; ++ ~~~ ++!!! error TS2304: Cannot find name 'foo'. ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctions.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctions.js new file mode 100644 index 0000000000..7a1612bab4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctions.js @@ -0,0 +1,168 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctions.ts] //// + +//// [index.js] +export function a() {} + +export function b() {} +b.cat = "cat"; + +export function c() {} +c.Cls = class {} + +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +export function d(a, b) { return /** @type {*} */(null); } + +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +export function e(a, b) { return /** @type {*} */(null); } + +/** + * @template T + * @param {T} a + */ +export function f(a) { + return a; +} +f.self = f; + +/** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +function g(a, b) { + return a.x && b.y(); +} + +export { g }; + +/** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +function hh(a, b) { + return a.x && b.y(); +} + +export { hh as h }; + +export function i() {} +export { i as ii }; + +export { j as jj }; +export function j() {} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.a = a; +exports.b = b; +exports.c = c; +exports.d = d; +exports.e = e; +exports.f = f; +exports.g = g; +exports.h = hh; +exports.i = i; +exports.ii = i; +exports.j = j; +exports.jj = j; +function a() { } +function b() { } +b.cat = "cat"; +function c() { } +c.Cls = class { +}; +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +function d(a, b) { return /** @type {*} */ null; } +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +function e(a, b) { return /** @type {*} */ null; } +/** + * @template T + * @param {T} a + */ +function f(a) { + return a; +} +f.self = f; +/** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +function g(a, b) { + return a.x && b.y(); +} +/** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +function hh(a, b) { + return a.x && b.y(); +} +function i() { } +function j() { } + + +//// [index.d.ts] +export declare function a(): void; +export declare function b(): void; +export declare function c(): void; +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +export declare function d(a: number, b: number): string; +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +export declare function e(a: T, b: U): T & U; +/** + * @template T + * @param {T} a + */ +export declare function f(a: T): T; +/** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +declare function g(a: { + x: string; +}, b: { + y: typeof b; +}): any; +export { g }; +/** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +declare function hh(a: { + x: string; +}, b: { + y: typeof b; +}): any; +export { hh as h }; +export declare function i(): void; +export { i as ii }; +export { j as jj }; +export declare function j(): void; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctions.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctions.js.diff new file mode 100644 index 0000000000..75088fe6e6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctions.js.diff @@ -0,0 +1,93 @@ +--- old.jsDeclarationsFunctions.js ++++ new.jsDeclarationsFunctions.js +@@= skipped -85, +85 lines =@@ + * @param {number} b + * @return {string} + */ +-function d(a, b) { return /** @type {*} */ (null); } ++function d(a, b) { return /** @type {*} */ null; } + /** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +-function e(a, b) { return /** @type {*} */ (null); } ++function e(a, b) { return /** @type {*} */ null; } + /** + * @template T + * @param {T} a +@@= skipped -35, +35 lines =@@ + + + //// [index.d.ts] +-export function a(): void; +-export function b(): void; +-export namespace b { +- let cat: string; +-} +-export function c(): void; +-export namespace c { +- export { Cls }; +-} ++export declare function a(): void; ++export declare function b(): void; ++export declare function c(): void; + /** + * @param {number} a + * @param {number} b + * @return {string} + */ +-export function d(a: number, b: number): string; ++export declare function d(a: number, b: number): string; + /** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +-export function e(a: T, b: U): T & U; ++export declare function e(a: T, b: U): T & U; + /** + * @template T + * @param {T} a + */ +-export function f(a: T): T; +-export namespace f { +- export { f as self }; +-} +-export function i(): void; +-export function j(): void; +-declare class Cls { +-} ++export declare function f(a: T): T; + /** + * @param {{x: string}} a + * @param {{y: typeof b}} b + */ +-export function g(a: { ++declare function g(a: { + x: string; + }, b: { +- y: typeof import(".").b; +-}): void; ++ y: typeof b; ++}): any; ++export { g }; + /** + * @param {{x: string}} a + * @param {{y: typeof b}} b +@@= skipped -50, +38 lines =@@ + declare function hh(a: { + x: string; + }, b: { +- y: typeof import(".").b; +-}): void; +-export { hh as h, i as ii, j as jj }; ++ y: typeof b; ++}): any; ++export { hh as h }; ++export declare function i(): void; ++export { i as ii }; ++export { j as jj }; ++export declare function j(): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js new file mode 100644 index 0000000000..0df2364e61 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js @@ -0,0 +1,176 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsFunctionsCjs.ts] //// + +//// [index.js] +module.exports.a = function a() {} + +module.exports.b = function b() {} +module.exports.b.cat = "cat"; + +module.exports.c = function c() {} +module.exports.c.Cls = class {} + +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +module.exports.d = function d(a, b) { return /** @type {*} */(null); } + +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +module.exports.e = function e(a, b) { return /** @type {*} */(null); } + +/** + * @template T + * @param {T} a + */ +module.exports.f = function f(a) { + return a; +} +module.exports.f.self = module.exports.f; + +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function g(a, b) { + return a.x && b.y(); +} + +module.exports.g = g; + +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function hh(a, b) { + return a.x && b.y(); +} + +module.exports.h = hh; + +module.exports.i = function i() {} +module.exports.ii = module.exports.i; + +// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings +module.exports.jj = module.exports.j; +module.exports.j = function j() {} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var a = function a() { }; +module.exports.a = function a() { }; +export var b = function b() { }; +module.exports.b = function b() { }; +module.exports.b.cat = "cat"; +export var c = function c() { }; +module.exports.c = function c() { }; +module.exports.c.Cls = class { +}; +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +export var d = function d(a, b) { return /** @type {*} */ (null as ); }; +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +module.exports.d = function d(a, b) { return /** @type {*} */ null; }; +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +export var e = function e(a, b) { return /** @type {*} */ (null as ); }; +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +module.exports.e = function e(a, b) { return /** @type {*} */ null; }; +/** + * @template T + * @param {T} a + */ +export var f = function f(a) { + return a; +}; +/** + * @template T + * @param {T} a + */ +module.exports.f = function f(a) { + return a; +}; +module.exports.f.self = module.exports.f; +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function g(a, b) { + return a.x && b.y(); +} +export var g = g; +module.exports.g = g; +/** + * @param {{x: string}} a + * @param {{y: typeof module.exports.b}} b + */ +function hh(a, b) { + return a.x && b.y(); +} +export var h = hh; +module.exports.h = hh; +export var i = function i() { }; +module.exports.i = function i() { }; +export var ii = module.exports.i; +module.exports.ii = module.exports.i; +// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings +export var jj = module.exports.j; +// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings +module.exports.jj = module.exports.j; +export var j = function j() { }; +module.exports.j = function j() { }; + + +//// [index.d.ts] +export var a = function a();; +export var b = function b();; +export var c = function c();; +/** + * @param {number} a + * @param {number} b + * @return {string} + */ +export var d = function d(a, b);; +/** + * @template T,U + * @param {T} a + * @param {U} b + * @return {T & U} + */ +export var e = function e(a, b);; +/** + * @template T + * @param {T} a + */ +export var f = function f(a);; +export var g = g; +export var h = hh; +export var i = function i();; +export var ii = module.exports.i; +// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings +export var jj = module.exports.j; +export var j = function j();; +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff new file mode 100644 index 0000000000..841fe7d000 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsFunctionsCjs.js.diff @@ -0,0 +1,161 @@ +--- old.jsDeclarationsFunctionsCjs.js ++++ new.jsDeclarationsFunctionsCjs.js +@@= skipped -61, +61 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var a = function a() { }; + module.exports.a = function a() { }; ++export var b = function b() { }; + module.exports.b = function b() { }; + module.exports.b.cat = "cat"; ++export var c = function c() { }; + module.exports.c = function c() { }; + module.exports.c.Cls = class { + }; +@@= skipped -11, +16 lines =@@ + * @param {number} b + * @return {string} + */ +-module.exports.d = function d(a, b) { return /** @type {*} */ (null); }; +-/** +- * @template T,U +- * @param {T} a +- * @param {U} b +- * @return {T & U} +- */ +-module.exports.e = function e(a, b) { return /** @type {*} */ (null); }; ++export var d = function d(a, b) { return /** @type {*} */ (null as ); }; ++/** ++ * @param {number} a ++ * @param {number} b ++ * @return {string} ++ */ ++module.exports.d = function d(a, b) { return /** @type {*} */ null; }; ++/** ++ * @template T,U ++ * @param {T} a ++ * @param {U} b ++ * @return {T & U} ++ */ ++export var e = function e(a, b) { return /** @type {*} */ (null as ); }; ++/** ++ * @template T,U ++ * @param {T} a ++ * @param {U} b ++ * @return {T & U} ++ */ ++module.exports.e = function e(a, b) { return /** @type {*} */ null; }; ++/** ++ * @template T ++ * @param {T} a ++ */ ++export var f = function f(a) { ++ return a; ++}; + /** + * @template T + * @param {T} a +@@= skipped -23, +43 lines =@@ + function g(a, b) { + return a.x && b.y(); + } ++export var g = g; + module.exports.g = g; + /** + * @param {{x: string}} a +@@= skipped -8, +9 lines =@@ + function hh(a, b) { + return a.x && b.y(); + } ++export var h = hh; + module.exports.h = hh; ++export var i = function i() { }; + module.exports.i = function i() { }; ++export var ii = module.exports.i; + module.exports.ii = module.exports.i; + // note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings ++export var jj = module.exports.j; ++// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings + module.exports.jj = module.exports.j; ++export var j = function j() { }; + module.exports.j = function j() { }; + + + //// [index.d.ts] +-export function a(): void; +-export function b(): void; +-export namespace b { +- let cat: string; +-} +-export function c(): void; +-export namespace c { +- export { Cls }; +-} +-export function d(a: number, b: number): string; +-export function e(a: T, b: U): T & U; +-export function f(a: T): T; +-export namespace f { +- import self = f; +- export { self }; +-} +-export function i(): void; +-export function j(): void; +-declare class Cls { +-} +-/** +- * @param {{x: string}} a +- * @param {{y: typeof module.exports.b}} b +- */ +-export function g(a: { +- x: string; +-}, b: { +- y: { +- (): void; +- cat: string; +- }; +-}): void; +-/** +- * @param {{x: string}} a +- * @param {{y: typeof module.exports.b}} b +- */ +-declare function hh(a: { +- x: string; +-}, b: { +- y: { +- (): void; +- cat: string; +- }; +-}): void; +-export { hh as h, i as ii, j as jj }; ++export var a = function a();; ++export var b = function b();; ++export var c = function c();; ++/** ++ * @param {number} a ++ * @param {number} b ++ * @return {string} ++ */ ++export var d = function d(a, b);; ++/** ++ * @template T,U ++ * @param {T} a ++ * @param {U} b ++ * @return {T & U} ++ */ ++export var e = function e(a, b);; ++/** ++ * @template T ++ * @param {T} a ++ */ ++export var f = function f(a);; ++export var g = g; ++export var h = hh; ++export var i = function i();; ++export var ii = module.exports.i; ++// note that this last one doesn't make much sense in cjs, since exports aren't hoisted bindings ++export var jj = module.exports.j; ++export var j = function j();; ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsGetterSetter.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsGetterSetter.js new file mode 100644 index 0000000000..eced1d0040 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsGetterSetter.js @@ -0,0 +1,273 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsGetterSetter.ts] //// + +//// [index.js] +export class A { + get x() { + return 12; + } +} + +export class B { + /** + * @param {number} _arg + */ + set x(_arg) { + } +} + +export class C { + get x() { + return 12; + } + set x(_arg) { + } +} + +export class D {} +Object.defineProperty(D.prototype, "x", { + get() { + return 12; + } +}); + +export class E {} +Object.defineProperty(E.prototype, "x", { + /** + * @param {number} _arg + */ + set(_arg) {} +}); + +export class F {} +Object.defineProperty(F.prototype, "x", { + get() { + return 12; + }, + /** + * @param {number} _arg + */ + set(_arg) {} +}); + +export class G {} +Object.defineProperty(G.prototype, "x", { + /** + * @param {number[]} args + */ + set(...args) {} +}); + +export class H {} +Object.defineProperty(H.prototype, "x", { + set() {} +}); + + +export class I {} +Object.defineProperty(I.prototype, "x", { + /** + * @param {number} v + */ + set: (v) => {} +}); + +/** + * @param {number} v + */ +const jSetter = (v) => {} +export class J {} +Object.defineProperty(J.prototype, "x", { + set: jSetter +}); + +/** + * @param {number} v + */ +const kSetter1 = (v) => {} +/** + * @param {number} v + */ +const kSetter2 = (v) => {} +export class K {} +Object.defineProperty(K.prototype, "x", { + set: Math.random() ? kSetter1 : kSetter2 +}); + +/** + * @param {number} v + */ +const lSetter1 = (v) => {} +/** + * @param {string} v + */ +const lSetter2 = (v) => {} +export class L {} +Object.defineProperty(L.prototype, "x", { + set: Math.random() ? lSetter1 : lSetter2 +}); + +/** + * @param {number | boolean} v + */ +const mSetter1 = (v) => {} +/** + * @param {string | boolean} v + */ +const mSetter2 = (v) => {} +export class M {} +Object.defineProperty(M.prototype, "x", { + set: Math.random() ? mSetter1 : mSetter2 +}); + + +//// [index.js] +export class A { + get x() { + return 12; + } +} +export class B { + /** + * @param {number} _arg + */ + set x(_arg) { + } +} +export class C { + get x() { + return 12; + } + set x(_arg) { + } +} +export class D { +} +Object.defineProperty(D.prototype, "x", { + get() { + return 12; + } +}); +export class E { +} +Object.defineProperty(E.prototype, "x", { + /** + * @param {number} _arg + */ + set(_arg) { } +}); +export class F { +} +Object.defineProperty(F.prototype, "x", { + get() { + return 12; + }, + /** + * @param {number} _arg + */ + set(_arg) { } +}); +export class G { +} +Object.defineProperty(G.prototype, "x", { + /** + * @param {number[]} args + */ + set(...args) { } +}); +export class H { +} +Object.defineProperty(H.prototype, "x", { + set() { } +}); +export class I { +} +Object.defineProperty(I.prototype, "x", { + /** + * @param {number} v + */ + set: (v) => { } +}); +/** + * @param {number} v + */ +const jSetter = (v) => { }; +export class J { +} +Object.defineProperty(J.prototype, "x", { + set: jSetter +}); +/** + * @param {number} v + */ +const kSetter1 = (v) => { }; +/** + * @param {number} v + */ +const kSetter2 = (v) => { }; +export class K { +} +Object.defineProperty(K.prototype, "x", { + set: Math.random() ? kSetter1 : kSetter2 +}); +/** + * @param {number} v + */ +const lSetter1 = (v) => { }; +/** + * @param {string} v + */ +const lSetter2 = (v) => { }; +export class L { +} +Object.defineProperty(L.prototype, "x", { + set: Math.random() ? lSetter1 : lSetter2 +}); +/** + * @param {number | boolean} v + */ +const mSetter1 = (v) => { }; +/** + * @param {string | boolean} v + */ +const mSetter2 = (v) => { }; +export class M { +} +Object.defineProperty(M.prototype, "x", { + set: Math.random() ? mSetter1 : mSetter2 +}); + + +//// [index.d.ts] +export declare class A { + get x(): number; +} +export declare class B { + /** + * @param {number} _arg + */ + set x(_arg: number); +} +export declare class C { + get x(): number; + set x(_arg: number); +} +export declare class D { +} +export declare class E { +} +export declare class F { +} +export declare class G { +} +export declare class H { +} +export declare class I { +} +export declare class J { +} +export declare class K { +} +export declare class L { +} +export declare class M { +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsGetterSetter.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsGetterSetter.js.diff new file mode 100644 index 0000000000..ae0b16b50f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsGetterSetter.js.diff @@ -0,0 +1,75 @@ +--- old.jsDeclarationsGetterSetter.js ++++ new.jsDeclarationsGetterSetter.js +@@= skipped -237, +237 lines =@@ + + + //// [index.d.ts] +-export class A { ++export declare class A { + get x(): number; + } +-export class B { ++export declare class B { + /** + * @param {number} _arg + */ + set x(_arg: number); + } +-export class C { +- set x(_arg: number); +- get x(): number; +-} +-export class D { +- get x(): number; +-} +-export class E { +- set x(_arg: number); +-} +-export class F { +- set x(_arg: number); +- get x(): number; +-} +-export class G { +- set x(args: number); +-} +-export class H { +- set x(value: any); +-} +-export class I { +- set x(value: number); +-} +-export class J { +- set x(value: number); +-} +-export class K { +- set x(value: number); +-} +-export class L { +- set x(value: any); +-} +-export class M { +- set x(value: any); ++export declare class C { ++ get x(): number; ++ set x(_arg: number); ++} ++export declare class D { ++} ++export declare class E { ++} ++export declare class F { ++} ++export declare class G { ++} ++export declare class H { ++} ++export declare class I { ++} ++export declare class J { ++} ++export declare class K { ++} ++export declare class L { ++} ++export declare class M { + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.js new file mode 100644 index 0000000000..6382b759e1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.js @@ -0,0 +1,93 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsImportAliasExposedWithinNamespace.ts] //// + +//// [file.js] +/** + * @namespace myTypes + * @global + * @type {Object} + */ +const myTypes = { + // SOME PROPS HERE +}; + +/** @typedef {string|RegExp|Array} myTypes.typeA */ + +/** + * @typedef myTypes.typeB + * @property {myTypes.typeA} prop1 - Prop 1. + * @property {string} prop2 - Prop 2. + */ + +/** @typedef {myTypes.typeB|Function} myTypes.typeC */ + +export {myTypes}; +//// [file2.js] +import {myTypes} from './file.js'; + +/** + * @namespace testFnTypes + * @global + * @type {Object} + */ +const testFnTypes = { + // SOME PROPS HERE +}; + +/** @typedef {boolean|myTypes.typeC} testFnTypes.input */ + +/** + * @function testFn + * @description A test function. + * @param {testFnTypes.input} input - Input. + * @returns {number|null} Result. + */ +function testFn(input) { + if (typeof input === 'number') { + return 2 * input; + } else { + return null; + } +} + +export {testFn, testFnTypes}; + + + +//// [file.d.ts] +/** + * @namespace myTypes + * @global + * @type {Object} + */ +declare const myTypes: Object; +export type myTypes = string | RegExp | Array; +export type myTypes = { + prop1: myTypes.typeA; + prop2: string; +}; +export type myTypes = myTypes.typeB | Function; +/** @typedef {string|RegExp|Array} myTypes.typeA */ +/** + * @typedef myTypes.typeB + * @property {myTypes.typeA} prop1 - Prop 1. + * @property {string} prop2 - Prop 2. + */ +/** @typedef {myTypes.typeB|Function} myTypes.typeC */ +export { myTypes }; +//// [file2.d.ts] +/** + * @namespace testFnTypes + * @global + * @type {Object} + */ +declare const testFnTypes: Object; +export type testFnTypes = boolean | myTypes.typeC; +/** @typedef {boolean|myTypes.typeC} testFnTypes.input */ +/** + * @function testFn + * @description A test function. + * @param {testFnTypes.input} input - Input. + * @returns {number|null} Result. + */ +declare function testFn(input: testFnTypes.input): number | null; +export { testFn, testFnTypes }; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.js.diff new file mode 100644 index 0000000000..3e2710baaa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespace.js.diff @@ -0,0 +1,72 @@ +--- old.jsDeclarationsImportAliasExposedWithinNamespace.js ++++ new.jsDeclarationsImportAliasExposedWithinNamespace.js +@@= skipped -53, +53 lines =@@ + + + //// [file.d.ts] +-export namespace myTypes { +- type typeA = string | RegExp | Array; +- type typeB = { +- /** +- * - Prop 1. +- */ +- prop1: myTypes.typeA; +- /** +- * - Prop 2. +- */ +- prop2: string; +- }; +- type typeC = myTypes.typeB | Function; +-} + /** + * @namespace myTypes + * @global + * @type {Object} + */ +-export const myTypes: { +- [x: string]: any; ++declare const myTypes: Object; ++export type myTypes = string | RegExp | Array; ++export type myTypes = { ++ prop1: myTypes.typeA; ++ prop2: string; + }; ++export type myTypes = myTypes.typeB | Function; ++/** @typedef {string|RegExp|Array} myTypes.typeA */ ++/** ++ * @typedef myTypes.typeB ++ * @property {myTypes.typeA} prop1 - Prop 1. ++ * @property {string} prop2 - Prop 2. ++ */ ++/** @typedef {myTypes.typeB|Function} myTypes.typeC */ ++export { myTypes }; + //// [file2.d.ts] +-export namespace testFnTypes { +- type input = boolean | myTypes.typeC; +-} ++/** ++ * @namespace testFnTypes ++ * @global ++ * @type {Object} ++ */ ++declare const testFnTypes: Object; ++export type testFnTypes = boolean | myTypes.typeC; + /** @typedef {boolean|myTypes.typeC} testFnTypes.input */ + /** + * @function testFn +@@= skipped -33, +35 lines =@@ + * @param {testFnTypes.input} input - Input. + * @returns {number|null} Result. + */ +-export function testFn(input: testFnTypes.input): number | null; +-import { myTypes } from './file.js'; +-/** +- * @namespace testFnTypes +- * @global +- * @type {Object} +- */ +-export const testFnTypes: { +- [x: string]: any; +-}; ++declare function testFn(input: testFnTypes.input): number | null; ++export { testFn, testFnTypes }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.js new file mode 100644 index 0000000000..55d6a0df23 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.js @@ -0,0 +1,85 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsImportAliasExposedWithinNamespaceCjs.ts] //// + +//// [file.js] +/** + * @namespace myTypes + * @global + * @type {Object} + */ +const myTypes = { + // SOME PROPS HERE +}; + +/** @typedef {string|RegExp|Array} myTypes.typeA */ + +/** + * @typedef myTypes.typeB + * @property {myTypes.typeA} prop1 - Prop 1. + * @property {string} prop2 - Prop 2. + */ + +/** @typedef {myTypes.typeB|Function} myTypes.typeC */ + +exports.myTypes = myTypes; +//// [file2.js] +const {myTypes} = require('./file.js'); + +/** + * @namespace testFnTypes + * @global + * @type {Object} + */ +const testFnTypes = { + // SOME PROPS HERE +}; + +/** @typedef {boolean|myTypes.typeC} testFnTypes.input */ + +/** + * @function testFn + * @description A test function. + * @param {testFnTypes.input} input - Input. + * @returns {number|null} Result. + */ +function testFn(input) { + if (typeof input === 'number') { + return 2 * input; + } else { + return null; + } +} + +module.exports = {testFn, testFnTypes}; + + + +//// [file.d.ts] +export type myTypes = string | RegExp | Array; +export type myTypes = { + prop1: myTypes.typeA; + prop2: string; +}; +export type myTypes = myTypes.typeB | Function; +/** @typedef {string|RegExp|Array} myTypes.typeA */ +/** + * @typedef myTypes.typeB + * @property {myTypes.typeA} prop1 - Prop 1. + * @property {string} prop2 - Prop 2. + */ +/** @typedef {myTypes.typeB|Function} myTypes.typeC */ +export var myTypes = myTypes; +//// [file2.d.ts] +export type testFnTypes = boolean | myTypes.typeC; +/** @typedef {boolean|myTypes.typeC} testFnTypes.input */ +/** + * @function testFn + * @description A test function. + * @param {testFnTypes.input} input - Input. + * @returns {number|null} Result. + */ +declare function testFn(input: testFnTypes.input): number | null; +declare const _default: { + testFn: typeof testFn; + testFnTypes: any; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.js.diff new file mode 100644 index 0000000000..ff18b56816 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportAliasExposedWithinNamespaceCjs.js.diff @@ -0,0 +1,67 @@ +--- old.jsDeclarationsImportAliasExposedWithinNamespaceCjs.js ++++ new.jsDeclarationsImportAliasExposedWithinNamespaceCjs.js +@@= skipped -53, +53 lines =@@ + + + //// [file.d.ts] ++export type myTypes = string | RegExp | Array; ++export type myTypes = { ++ prop1: myTypes.typeA; ++ prop2: string; ++}; ++export type myTypes = myTypes.typeB | Function; ++/** @typedef {string|RegExp|Array} myTypes.typeA */ + /** +- * @namespace myTypes +- * @global +- * @type {Object} ++ * @typedef myTypes.typeB ++ * @property {myTypes.typeA} prop1 - Prop 1. ++ * @property {string} prop2 - Prop 2. + */ +-export const myTypes: { +- [x: string]: any; +-}; +-export namespace myTypes { +- type typeA = string | RegExp | Array; +- type typeB = { +- /** +- * - Prop 1. +- */ +- prop1: myTypes.typeA; +- /** +- * - Prop 2. +- */ +- prop2: string; +- }; +- type typeC = myTypes.typeB | Function; +-} ++/** @typedef {myTypes.typeB|Function} myTypes.typeC */ ++export var myTypes = myTypes; + //// [file2.d.ts] ++export type testFnTypes = boolean | myTypes.typeC; + /** @typedef {boolean|myTypes.typeC} testFnTypes.input */ + /** + * @function testFn +@@= skipped -30, +23 lines =@@ + * @param {testFnTypes.input} input - Input. + * @returns {number|null} Result. + */ +-export function testFn(input: testFnTypes.input): number | null; +-/** +- * @namespace testFnTypes +- * @global +- * @type {Object} +- */ +-export const testFnTypes: { +- [x: string]: any; ++declare function testFn(input: testFnTypes.input): number | null; ++declare const _default: { ++ testFn: typeof testFn; ++ testFnTypes: any; + }; +-export namespace testFnTypes { +- type input = boolean | myTypes.typeC; +-} +-import { myTypes } from "./file.js"; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportNamespacedType.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportNamespacedType.js new file mode 100644 index 0000000000..f4af80fe00 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportNamespacedType.js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsImportNamespacedType.ts] //// + +//// [file.js] +import { dummy } from './mod1' +/** @type {import('./mod1').Dotted.Name} - should work */ +var dot2 + +//// [mod1.js] +/** @typedef {number} Dotted.Name */ +export var dummy = 1 + + + + +//// [mod1.d.ts] +export type Dotted = number; +/** @typedef {number} Dotted.Name */ +export declare var dummy: number; +//// [file.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportNamespacedType.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportNamespacedType.js.diff new file mode 100644 index 0000000000..fa52ab12a7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsImportNamespacedType.js.diff @@ -0,0 +1,15 @@ +--- old.jsDeclarationsImportNamespacedType.js ++++ new.jsDeclarationsImportNamespacedType.js +@@= skipped -12, +12 lines =@@ + + + //// [mod1.d.ts] ++export type Dotted = number; + /** @typedef {number} Dotted.Name */ +-export const dummy: number; +-export namespace Dotted { +- type Name = number; +-} ++export declare var dummy: number; + //// [file.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js new file mode 100644 index 0000000000..27aafe1c17 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js @@ -0,0 +1,241 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsInterfaces.ts] //// + +//// [index.js] +// Pretty much all of this should be an error, (since interfaces are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless + +export interface A {} + +export interface B { + cat: string; +} + +export interface C { + field: T & U; + optionalField?: T; + readonly readonlyField: T & U; + readonly readonlyOptionalField?: U; + (): number; + (x: T): U; + (x: Q): T & Q; + + new (): string; + new (x: T): U; + new (x: Q): T & Q; + + method(): number; + method(a: T & Q): Q & number; + method(a?: number): number; + method(...args: any[]): number; + + optMethod?(): number; +} + +interface G {} + +export { G }; + +interface HH {} + +export { HH as H }; + +export interface I {} +export { I as II }; + +export { J as JJ }; +export interface J {} + +export interface K extends I,J { + x: string; +} + +export interface L extends K { + y: string; +} + +export interface M { + field: T; +} + +export interface N extends M { + other: U; +} + +export interface O { + [idx: string]: string; +} + +export interface P extends O {} + +export interface Q extends O { + [idx: string]: "ok"; +} + +export interface R extends O { + [idx: number]: "ok"; +} + +export interface S extends O { + [idx: string]: "ok"; + [idx: number]: never; +} + +export interface T { + [idx: number]: string; +} + +export interface U extends T {} + + +export interface V extends T { + [idx: string]: string; +} + +export interface W extends T { + [idx: number]: "ok"; +} + +export interface X extends T { + [idx: string]: string; + [idx: number]: "ok"; +} + +export interface Y { + [idx: string]: {x: number}; + [idx: number]: {x: number, y: number}; +} + +export interface Z extends Y {} + +export interface AA extends Y { + [idx: string]: {x: number, y: number}; +} + +export interface BB extends Y { + [idx: number]: {x: 0, y: 0}; +} + +export interface CC extends Y { + [idx: string]: {x: number, y: number}; + [idx: number]: {x: 0, y: 0}; +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.JJ = exports.II = exports.H = exports.G = void 0; + + +//// [index.d.ts] +// Pretty much all of this should be an error, (since interfaces are forbidden in js), +// but we should be able to synthesize declarations from the symbols regardless +export interface A { +} +export interface B { + cat: string; +} +export interface C { + field: T & U; + optionalField?: T; + readonly readonlyField: T & U; + readonly readonlyOptionalField?: U; + (): number; + (x: T): U; + (x: Q): T & Q; + new (); + new (x: T); + new (x: Q); + method(): number; + method(a: T & Q): Q & number; + method(a?: number): number; + method(...args: any[]): number; + optMethod?(): number; +} +interface G { +} +export { G }; +interface HH { +} +export { HH as H }; +export interface I { +} +export { I as II }; +export { J as JJ }; +export interface J { +} +export interface K extends I, J { + x: string; +} +export interface L extends K { + y: string; +} +export interface M { + field: T; +} +export interface N extends M { + other: U; +} +export interface O { + [idx: string]: string; +} +export interface P extends O { +} +export interface Q extends O { + [idx: string]: "ok"; +} +export interface R extends O { + [idx: number]: "ok"; +} +export interface S extends O { + [idx: string]: "ok"; + [idx: number]: never; +} +export interface T { + [idx: number]: string; +} +export interface U extends T { +} +export interface V extends T { + [idx: string]: string; +} +export interface W extends T { + [idx: number]: "ok"; +} +export interface X extends T { + [idx: string]: string; + [idx: number]: "ok"; +} +export interface Y { + [idx: string]: { + x: number; + }; + [idx: number]: { + x: number; + y: number; + }; +} +export interface Z extends Y { +} +export interface AA extends Y { + [idx: string]: { + x: number; + y: number; + }; +} +export interface BB extends Y { + [idx: number]: { + x: 0; + y: 0; + }; +} +export interface CC extends Y { + [idx: string]: { + x: number; + y: number; + }; + [idx: number]: { + x: 0; + y: 0; + }; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff new file mode 100644 index 0000000000..4818d9900a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsInterfaces.js.diff @@ -0,0 +1,65 @@ +--- old.jsDeclarationsInterfaces.js ++++ new.jsDeclarationsInterfaces.js +@@= skipped -122, +122 lines =@@ + + //// [index.js] + "use strict"; +-// Pretty much all of this should be an error, (since interfaces are forbidden in js), +-// but we should be able to synthesize declarations from the symbols regardless + Object.defineProperty(exports, "__esModule", { value: true }); ++exports.JJ = exports.II = exports.H = exports.G = void 0; + + + //// [index.d.ts] ++// Pretty much all of this should be an error, (since interfaces are forbidden in js), ++// but we should be able to synthesize declarations from the symbols regardless + export interface A { + } + export interface B { + cat: string; + } + export interface C { +- new (): string; +- new (x: T): U; +- new (x: Q): T & Q; +- (): number; +- (x: T): U; +- (x: Q): T & Q; + field: T & U; + optionalField?: T; + readonly readonlyField: T & U; + readonly readonlyOptionalField?: U; ++ (): number; ++ (x: T): U; ++ (x: Q): T & Q; ++ new (); ++ new (x: T); ++ new (x: Q); + method(): number; + method(a: T & Q): Q & number; + method(a?: number): number; + method(...args: any[]): number; + optMethod?(): number; + } ++interface G { ++} ++export { G }; ++interface HH { ++} ++export { HH as H }; + export interface I { + } ++export { I as II }; ++export { J as JJ }; + export interface J { + } + export interface K extends I, J { +@@= skipped -107, +116 lines =@@ + y: 0; + }; + } +-export interface G { +-} +-interface HH { +-} +-export { HH as H, I as II, J as JJ }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJSDocRedirectedLookups.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJSDocRedirectedLookups.js new file mode 100644 index 0000000000..b1896d0839 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJSDocRedirectedLookups.js @@ -0,0 +1,90 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsJSDocRedirectedLookups.ts] //// + +//// [index.js] +// these are recognized as TS concepts by the checker +/** @type {String} */const a = ""; +/** @type {Number} */const b = 0; +/** @type {Boolean} */const c = true; +/** @type {Void} */const d = undefined; +/** @type {Undefined} */const e = undefined; +/** @type {Null} */const f = null; + +/** @type {Function} */const g = () => void 0; +/** @type {function} */const h = () => void 0; +/** @type {array} */const i = []; +/** @type {promise} */const j = Promise.resolve(0); +/** @type {Object} */const k = {x: "x"}; + + +// these are not recognized as anything and should just be lookup failures +// ignore the errors to try to ensure they're emitted as `any` in declaration emit +// @ts-ignore +/** @type {class} */const l = true; +// @ts-ignore +/** @type {bool} */const m = true; +// @ts-ignore +/** @type {int} */const n = true; +// @ts-ignore +/** @type {float} */const o = true; +// @ts-ignore +/** @type {integer} */const p = true; + +// or, in the case of `event` likely erroneously refers to the type of the global Event object +/** @type {event} */const q = undefined; + +//// [index.js] +// these are recognized as TS concepts by the checker +/** @type {String} */ const a = ""; +/** @type {Number} */ const b = 0; +/** @type {Boolean} */ const c = true; +/** @type {Void} */ const d = undefined; +/** @type {Undefined} */ const e = undefined; +/** @type {Null} */ const f = null; +/** @type {Function} */ const g = () => void 0; +/** @type {function} */ const h = () => void 0; +/** @type {array} */ const i = []; +/** @type {promise} */ const j = Promise.resolve(0); +/** @type {Object} */ const k = { x: "x" }; +// these are not recognized as anything and should just be lookup failures +// ignore the errors to try to ensure they're emitted as `any` in declaration emit +// @ts-ignore +/** @type {class} */ const l = true; +// @ts-ignore +/** @type {bool} */ const m = true; +// @ts-ignore +/** @type {int} */ const n = true; +// @ts-ignore +/** @type {float} */ const o = true; +// @ts-ignore +/** @type {integer} */ const p = true; +// or, in the case of `event` likely erroneously refers to the type of the global Event object +/** @type {event} */ const q = undefined; + + +//// [index.d.ts] +// these are recognized as TS concepts by the checker +/** @type {String} */ declare const a: String; +/** @type {Number} */ declare const b: Number; +/** @type {Boolean} */ declare const c: Boolean; +/** @type {Void} */ declare const d: Void; +/** @type {Undefined} */ declare const e: Undefined; +/** @type {Null} */ declare const f: Null; +/** @type {Function} */ declare const g: Function; +/** @type {function} */ declare const h: function; +/** @type {array} */ declare const i: array; +/** @type {promise} */ declare const j: promise; +/** @type {Object} */ declare const k: Object; +// these are not recognized as anything and should just be lookup failures +// ignore the errors to try to ensure they're emitted as `any` in declaration emit +// @ts-ignore +/** @type {class} */ declare const l: class; +// @ts-ignore +/** @type {bool} */ declare const m: bool; +// @ts-ignore +/** @type {int} */ declare const n: int; +// @ts-ignore +/** @type {float} */ declare const o: float; +// @ts-ignore +/** @type {integer} */ declare const p: integer; +// or, in the case of `event` likely erroneously refers to the type of the global Event object +/** @type {event} */ declare const q: event; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJSDocRedirectedLookups.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJSDocRedirectedLookups.js.diff new file mode 100644 index 0000000000..14aa477b90 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJSDocRedirectedLookups.js.diff @@ -0,0 +1,96 @@ +--- old.jsDeclarationsJSDocRedirectedLookups.js ++++ new.jsDeclarationsJSDocRedirectedLookups.js +@@= skipped -32, +32 lines =@@ + /** @type {event} */const q = undefined; + + //// [index.js] +-"use strict"; + // these are recognized as TS concepts by the checker + /** @type {String} */ const a = ""; + /** @type {Number} */ const b = 0; +@@= skipped -30, +29 lines =@@ + + + //// [index.d.ts] +-/** @type {String} */ declare const a: string; +-/** @type {Number} */ declare const b: number; +-/** @type {Boolean} */ declare const c: boolean; +-/** @type {Void} */ declare const d: void; +-/** @type {Undefined} */ declare const e: undefined; +-/** @type {Null} */ declare const f: null; ++// these are recognized as TS concepts by the checker ++/** @type {String} */ declare const a: String; ++/** @type {Number} */ declare const b: Number; ++/** @type {Boolean} */ declare const c: Boolean; ++/** @type {Void} */ declare const d: Void; ++/** @type {Undefined} */ declare const e: Undefined; ++/** @type {Null} */ declare const f: Null; + /** @type {Function} */ declare const g: Function; +-/** @type {function} */ declare const h: Function; +-/** @type {array} */ declare const i: any[]; +-/** @type {promise} */ declare const j: Promise; +-/** @type {Object} */ declare const k: { +- [x: string]: string; +-}; ++/** @type {function} */ declare const h: function; ++/** @type {array} */ declare const i: array; ++/** @type {promise} */ declare const j: promise; ++/** @type {Object} */ declare const k: Object; ++// these are not recognized as anything and should just be lookup failures ++// ignore the errors to try to ensure they're emitted as `any` in declaration emit ++// @ts-ignore + /** @type {class} */ declare const l: class; ++// @ts-ignore + /** @type {bool} */ declare const m: bool; ++// @ts-ignore + /** @type {int} */ declare const n: int; ++// @ts-ignore + /** @type {float} */ declare const o: float; ++// @ts-ignore + /** @type {integer} */ declare const p: integer; +-/** @type {event} */ declare const q: Event | undefined; +- +- +-//// [DtsFileErrors] +- +- +-out/index.d.ts(14,39): error TS2304: Cannot find name 'class'. +-out/index.d.ts(15,38): error TS2304: Cannot find name 'bool'. +-out/index.d.ts(16,37): error TS2304: Cannot find name 'int'. +-out/index.d.ts(17,39): error TS2552: Cannot find name 'float'. Did you mean 'GLfloat'? +-out/index.d.ts(18,41): error TS2304: Cannot find name 'integer'. +- +- +-==== out/index.d.ts (5 errors) ==== +- /** @type {String} */ declare const a: string; +- /** @type {Number} */ declare const b: number; +- /** @type {Boolean} */ declare const c: boolean; +- /** @type {Void} */ declare const d: void; +- /** @type {Undefined} */ declare const e: undefined; +- /** @type {Null} */ declare const f: null; +- /** @type {Function} */ declare const g: Function; +- /** @type {function} */ declare const h: Function; +- /** @type {array} */ declare const i: any[]; +- /** @type {promise} */ declare const j: Promise; +- /** @type {Object} */ declare const k: { +- [x: string]: string; +- }; +- /** @type {class} */ declare const l: class; +- ~~~~~ +-!!! error TS2304: Cannot find name 'class'. +- /** @type {bool} */ declare const m: bool; +- ~~~~ +-!!! error TS2304: Cannot find name 'bool'. +- /** @type {int} */ declare const n: int; +- ~~~ +-!!! error TS2304: Cannot find name 'int'. +- /** @type {float} */ declare const o: float; +- ~~~~~ +-!!! error TS2552: Cannot find name 'float'. Did you mean 'GLfloat'? +- /** @type {integer} */ declare const p: integer; +- ~~~~~~~ +-!!! error TS2304: Cannot find name 'integer'. +- /** @type {event} */ declare const q: Event | undefined; +- ++// or, in the case of `event` likely erroneously refers to the type of the global Event object ++/** @type {event} */ declare const q: event; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js new file mode 100644 index 0000000000..a085eaf616 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js @@ -0,0 +1,43 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsJson.ts] //// + +//// [index.js] +const j = require("./obj.json"); +module.exports = j; +//// [obj.json] +{ + "x": 12, + "y": 12, + "obj": { + "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] + } +} + +//// [index.js] +const j = require("./obj.json"); +export = j; +module.exports = j; + + +//// [index.d.ts] +export = j; + + +//// [DtsFileErrors] + + +out/index.d.ts(1,10): error TS2304: Cannot find name 'j'. + + +==== out/index.d.ts (1 errors) ==== + export = j; + ~ +!!! error TS2304: Cannot find name 'j'. + +==== obj.json (0 errors) ==== + { + "x": 12, + "y": 12, + "obj": { + "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff new file mode 100644 index 0000000000..1776dfd73c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsJson.js.diff @@ -0,0 +1,62 @@ +--- old.jsDeclarationsJson.js ++++ new.jsDeclarationsJson.js +@@= skipped -11, +11 lines =@@ + } + } + +-//// [obj.json] +-{ +- "x": 12, +- "y": 12, +- "obj": { +- "items": [{ "x": 12 }, { "x": 12, "y": 12 }, { "x": 0 }, { "x": -1, "err": true }] +- } +-} + //// [index.js] + const j = require("./obj.json"); ++export = j; + module.exports = j; + + + //// [index.d.ts] + export = j; +-declare const j: { +- x: number; +- y: number; +- obj: { +- items: ({ +- x: number; +- y?: undefined; +- err?: undefined; +- } | { +- x: number; +- y: number; +- err?: undefined; +- } | { +- y?: undefined; +- x: number; +- err: boolean; +- })[]; +- }; +-}; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(1,10): error TS2304: Cannot find name 'j'. ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ export = j; ++ ~ ++!!! error TS2304: Cannot find name 'j'. ++ ++==== obj.json (0 errors) ==== ++ { ++ "x": 12, ++ "y": 12, ++ "obj": { ++ "items": [{"x": 12}, {"x": 12, "y": 12}, {"x": 0}, {"x": -1, "err": true}] ++ } ++ } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingGenerics.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingGenerics.js new file mode 100644 index 0000000000..aeb030f791 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingGenerics.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsMissingGenerics.ts] //// + +//// [file.js] +/** + * @param {Array} x + */ +function x(x) {} +/** + * @param {Promise} x + */ +function y(x) {} + +//// [file.js] +/** + * @param {Array} x + */ +function x(x) { } +/** + * @param {Promise} x + */ +function y(x) { } + + +//// [file.d.ts] +/** + * @param {Array} x + */ +declare function x(x: Array): void; +/** + * @param {Promise} x + */ +declare function y(x: Promise): void; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingGenerics.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingGenerics.js.diff new file mode 100644 index 0000000000..3b0d2bc189 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingGenerics.js.diff @@ -0,0 +1,13 @@ +--- old.jsDeclarationsMissingGenerics.js ++++ new.jsDeclarationsMissingGenerics.js +@@= skipped -24, +24 lines =@@ + /** + * @param {Array} x + */ +-declare function x(x: any[]): void; ++declare function x(x: Array): void; + /** + * @param {Promise} x + */ +-declare function y(x: Promise): void; ++declare function y(x: Promise): void; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingTypeParameters.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingTypeParameters.js new file mode 100644 index 0000000000..c5ebeac436 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingTypeParameters.js @@ -0,0 +1,62 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsMissingTypeParameters.ts] //// + +//// [file.js] +/** + * @param {Array=} y desc + */ +function x(y) { } + +// @ts-ignore +/** @param {function (Array)} func Invoked + */ +function y(func) { return; } + +/** + * @return {(Array.<> | null)} list of devices + */ +function z() { return null ;} + +/** + * + * @return {?Promise} A promise + */ +function w() { return null; } + +//// [file.js] +/** + * @param {Array=} y desc + */ +function x(y) { } +// @ts-ignore +/** @param {function (Array)} func Invoked + */ +function y(func) { return; } +/** + * @return {(Array.<> | null)} list of devices + */ +function z() { return null; } +/** + * + * @return {?Promise} A promise + */ +function w() { return null; } + + +//// [file.d.ts] +/** + * @param {Array=} y desc + */ +declare function x(y?: Array | undefined): void; +// @ts-ignore +/** @param {function (Array)} func Invoked + */ +declare function y(func: any): void; +/** + * @return {(Array.<> | null)} list of devices + */ +declare function z(): (Array | null); +/** + * + * @return {?Promise} A promise + */ +declare function w(): Promise | null; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingTypeParameters.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingTypeParameters.js.diff new file mode 100644 index 0000000000..ba8bbacdbf --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMissingTypeParameters.js.diff @@ -0,0 +1,24 @@ +--- old.jsDeclarationsMissingTypeParameters.js ++++ new.jsDeclarationsMissingTypeParameters.js +@@= skipped -45, +45 lines =@@ + /** + * @param {Array=} y desc + */ +-declare function x(y?: any[] | undefined): void; ++declare function x(y?: Array | undefined): void; ++// @ts-ignore + /** @param {function (Array)} func Invoked + */ +-declare function y(func: (arg0: any[]) => any): void; ++declare function y(func: any): void; + /** + * @return {(Array.<> | null)} list of devices + */ +-declare function z(): (any[] | null); ++declare function z(): (Array | null); + /** + * + * @return {?Promise} A promise + */ +-declare function w(): Promise | null; ++declare function w(): Promise | null; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsModuleReferenceHasEmit.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsModuleReferenceHasEmit.js new file mode 100644 index 0000000000..b7c5b263b8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsModuleReferenceHasEmit.js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsModuleReferenceHasEmit.ts] //// + +//// [index.js] +/** + * @module A + */ +class A {} + + +/** + * Target element + * @type {module:A} + */ +export let el = null; + +export default A; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.el = void 0; +/** + * @module A + */ +class A { +} +/** + * Target element + * @type {module:A} + */ +exports.el = null; +exports.default = A; + + +//// [index.d.ts] +/** + * @module A + */ +declare class A { +} +/** + * Target element + * @type {module:A} + */ +export declare let el: module; +export default A; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsModuleReferenceHasEmit.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsModuleReferenceHasEmit.js.diff new file mode 100644 index 0000000000..1dfff0def5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsModuleReferenceHasEmit.js.diff @@ -0,0 +1,22 @@ +--- old.jsDeclarationsModuleReferenceHasEmit.js ++++ new.jsDeclarationsModuleReferenceHasEmit.js +@@= skipped -33, +33 lines =@@ + + //// [index.d.ts] + /** +- * Target element +- * @type {module:A} +- */ +-export let el: any; +-export default A; +-/** + * @module A + */ + declare class A { + } ++/** ++ * Target element ++ * @type {module:A} ++ */ ++export declare let el: module; ++export default A; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsMultipleExportFromMerge.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMultipleExportFromMerge.js new file mode 100644 index 0000000000..7dcd2840e8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMultipleExportFromMerge.js @@ -0,0 +1,78 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsMultipleExportFromMerge.ts] //// + +//// [items.js] +export const a = 1; +export const b = 2; +export const c = 3; + +//// [justone.js] +export { a, b, c } from "./items"; + +//// [two.js] +export { a } from "./items"; +export { b, c } from "./items"; + +//// [multiple.js] +export {a, b} from "./items"; +export {a as aa} from "./two"; +export {b as bb} from "./two"; +export {c} from "./two" +export {c as cc} from "./items"; + + +//// [items.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.c = exports.b = exports.a = void 0; +exports.a = 1; +exports.b = 2; +exports.c = 3; +//// [justone.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.c = exports.b = exports.a = void 0; +const items_1 = require("./items"); +Object.defineProperty(exports, "a", { enumerable: true, get: function () { return items_1.a; } }); +Object.defineProperty(exports, "b", { enumerable: true, get: function () { return items_1.b; } }); +Object.defineProperty(exports, "c", { enumerable: true, get: function () { return items_1.c; } }); +//// [two.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.c = exports.b = exports.a = void 0; +const items_1 = require("./items"); +Object.defineProperty(exports, "a", { enumerable: true, get: function () { return items_1.a; } }); +const items_2 = require("./items"); +Object.defineProperty(exports, "b", { enumerable: true, get: function () { return items_2.b; } }); +Object.defineProperty(exports, "c", { enumerable: true, get: function () { return items_2.c; } }); +//// [multiple.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cc = exports.c = exports.bb = exports.aa = exports.b = exports.a = void 0; +const items_1 = require("./items"); +Object.defineProperty(exports, "a", { enumerable: true, get: function () { return items_1.a; } }); +Object.defineProperty(exports, "b", { enumerable: true, get: function () { return items_1.b; } }); +const two_1 = require("./two"); +Object.defineProperty(exports, "aa", { enumerable: true, get: function () { return two_1.a; } }); +const two_2 = require("./two"); +Object.defineProperty(exports, "bb", { enumerable: true, get: function () { return two_2.b; } }); +const two_3 = require("./two"); +Object.defineProperty(exports, "c", { enumerable: true, get: function () { return two_3.c; } }); +const items_2 = require("./items"); +Object.defineProperty(exports, "cc", { enumerable: true, get: function () { return items_2.c; } }); + + +//// [items.d.ts] +export declare const a = 1; +export declare const b = 2; +export declare const c = 3; +//// [justone.d.ts] +export { a, b, c } from "./items"; +//// [two.d.ts] +export { a } from "./items"; +export { b, c } from "./items"; +//// [multiple.d.ts] +export { a, b } from "./items"; +export { a as aa } from "./two"; +export { b as bb } from "./two"; +export { c } from "./two"; +export { c as cc } from "./items"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsMultipleExportFromMerge.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMultipleExportFromMerge.js.diff new file mode 100644 index 0000000000..b92971f769 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsMultipleExportFromMerge.js.diff @@ -0,0 +1,65 @@ +--- old.jsDeclarationsMultipleExportFromMerge.js ++++ new.jsDeclarationsMultipleExportFromMerge.js +@@= skipped -30, +30 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.c = exports.b = exports.a = void 0; +-var items_1 = require("./items"); ++const items_1 = require("./items"); + Object.defineProperty(exports, "a", { enumerable: true, get: function () { return items_1.a; } }); + Object.defineProperty(exports, "b", { enumerable: true, get: function () { return items_1.b; } }); + Object.defineProperty(exports, "c", { enumerable: true, get: function () { return items_1.c; } }); +@@= skipped -8, +8 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.c = exports.b = exports.a = void 0; +-var items_1 = require("./items"); ++const items_1 = require("./items"); + Object.defineProperty(exports, "a", { enumerable: true, get: function () { return items_1.a; } }); +-var items_2 = require("./items"); ++const items_2 = require("./items"); + Object.defineProperty(exports, "b", { enumerable: true, get: function () { return items_2.b; } }); + Object.defineProperty(exports, "c", { enumerable: true, get: function () { return items_2.c; } }); + //// [multiple.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.cc = exports.c = exports.bb = exports.aa = exports.b = exports.a = void 0; +-var items_1 = require("./items"); ++const items_1 = require("./items"); + Object.defineProperty(exports, "a", { enumerable: true, get: function () { return items_1.a; } }); + Object.defineProperty(exports, "b", { enumerable: true, get: function () { return items_1.b; } }); +-var two_1 = require("./two"); ++const two_1 = require("./two"); + Object.defineProperty(exports, "aa", { enumerable: true, get: function () { return two_1.a; } }); +-var two_2 = require("./two"); ++const two_2 = require("./two"); + Object.defineProperty(exports, "bb", { enumerable: true, get: function () { return two_2.b; } }); +-var two_3 = require("./two"); ++const two_3 = require("./two"); + Object.defineProperty(exports, "c", { enumerable: true, get: function () { return two_3.c; } }); +-var items_2 = require("./items"); ++const items_2 = require("./items"); + Object.defineProperty(exports, "cc", { enumerable: true, get: function () { return items_2.c; } }); + + + //// [items.d.ts] +-export const a: 1; +-export const b: 2; +-export const c: 3; ++export declare const a = 1; ++export declare const b = 2; ++export declare const c = 3; + //// [justone.d.ts] + export { a, b, c } from "./items"; + //// [two.d.ts] +-export { a, b, c } from "./items"; ++export { a } from "./items"; ++export { b, c } from "./items"; + //// [multiple.d.ts] +-export { a, b, c as cc } from "./items"; +-export { a as aa, b as bb, c } from "./two"; ++export { a, b } from "./items"; ++export { a as aa } from "./two"; ++export { b as bb } from "./two"; ++export { c } from "./two"; ++export { c as cc } from "./items"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsNestedParams.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNestedParams.js new file mode 100644 index 0000000000..84169804ec --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNestedParams.js @@ -0,0 +1,82 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsNestedParams.ts] //// + +//// [file.js] +class X { + /** + * Cancels the request, sending a cancellation to the other party + * @param {Object} error __auto_generated__ + * @param {string?} error.reason the error reason to send the cancellation with + * @param {string?} error.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ + async cancel({reason, code}) {} +} + +class Y { + /** + * Cancels the request, sending a cancellation to the other party + * @param {Object} error __auto_generated__ + * @param {string?} error.reason the error reason to send the cancellation with + * @param {Object} error.suberr + * @param {string?} error.suberr.reason the error reason to send the cancellation with + * @param {string?} error.suberr.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ + async cancel({reason, suberr}) {} +} + + +//// [file.js] +class X { + /** + * Cancels the request, sending a cancellation to the other party + * @param {Object} error __auto_generated__ + * @param {string?} error.reason the error reason to send the cancellation with + * @param {string?} error.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ + async cancel({ reason, code }) { } +} +class Y { + /** + * Cancels the request, sending a cancellation to the other party + * @param {Object} error __auto_generated__ + * @param {string?} error.reason the error reason to send the cancellation with + * @param {Object} error.suberr + * @param {string?} error.suberr.reason the error reason to send the cancellation with + * @param {string?} error.suberr.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ + async cancel({ reason, suberr }) { } +} + + +//// [file.d.ts] +declare class X { + /** + * Cancels the request, sending a cancellation to the other party + * @param {Object} error __auto_generated__ + * @param {string?} error.reason the error reason to send the cancellation with + * @param {string?} error.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ + cancel({ reason, code }: { + code: any; + reason: any; + }): Promise; +} +declare class Y { + /** + * Cancels the request, sending a cancellation to the other party + * @param {Object} error __auto_generated__ + * @param {string?} error.reason the error reason to send the cancellation with + * @param {Object} error.suberr + * @param {string?} error.suberr.reason the error reason to send the cancellation with + * @param {string?} error.suberr.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ + cancel({ reason, suberr }: { + reason: any; + suberr: any; + }): Promise; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsNestedParams.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNestedParams.js.diff new file mode 100644 index 0000000000..5468e255b7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNestedParams.js.diff @@ -0,0 +1,64 @@ +--- old.jsDeclarationsNestedParams.js ++++ new.jsDeclarationsNestedParams.js +@@= skipped -26, +26 lines =@@ + + + //// [file.js] +-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { +- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } +- return new (P || (P = Promise))(function (resolve, reject) { +- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } +- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } +- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } +- step((generator = generator.apply(thisArg, _arguments || [])).next()); +- }); +-}; + class X { + /** + * Cancels the request, sending a cancellation to the other party +@@= skipped -17, +8 lines =@@ + * @param {string?} error.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ +- cancel(_a) { +- return __awaiter(this, arguments, void 0, function* ({ reason, code }) { }); +- } ++ async cancel({ reason, code }) { } + } + class Y { + /** +@@= skipped -14, +12 lines =@@ + * @param {string?} error.suberr.code the error code to send the cancellation with + * @returns {Promise.<*>} resolves when the event has been sent. + */ +- cancel(_a) { +- return __awaiter(this, arguments, void 0, function* ({ reason, suberr }) { }); +- } ++ async cancel({ reason, suberr }) { } + } + + +@@= skipped -16, +14 lines =@@ + * @returns {Promise.<*>} resolves when the event has been sent. + */ + cancel({ reason, code }: { +- reason: string | null; +- code: string | null; ++ code: any; ++ reason: any; + }): Promise; + } + declare class Y { +@@= skipped -15, +15 lines =@@ + * @returns {Promise.<*>} resolves when the event has been sent. + */ + cancel({ reason, suberr }: { +- reason: string | null; +- suberr: { +- reason: string | null; +- code: string | null; +- }; ++ reason: any; ++ suberr: any; + }): Promise; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsNonIdentifierInferredNames.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNonIdentifierInferredNames.js new file mode 100644 index 0000000000..6ba002df49 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNonIdentifierInferredNames.js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsNonIdentifierInferredNames.ts] //// + +//// [jsDeclarationsNonIdentifierInferredNames.jsx] +/// +import * as React from "react"; +const dynPropName = "data-dyn"; +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => ( + <>Hello +); + +//// [jsDeclarationsNonIdentifierInferredNames.js] +/// +import * as React from "react"; +const dynPropName = "data-dyn"; +export const ExampleFunctionalComponent = ({ "data-testid": dataTestId, [dynPropName]: dynProp }) => (React.createElement(React.Fragment, null, "Hello")); + + +//// [jsDeclarationsNonIdentifierInferredNames.d.ts] +declare const dynPropName = "data-dyn"; +export declare const ExampleFunctionalComponent: ({ "data-testid": dataTestId, [dynPropName]: dynProp }: { + "data-dyn": any; + "data-testid": any; +}) => JSX.Element; +export {}; + + +//// [DtsFileErrors] + + +out/jsDeclarationsNonIdentifierInferredNames.d.ts(5,7): error TS2503: Cannot find namespace 'JSX'. + + +==== out/jsDeclarationsNonIdentifierInferredNames.d.ts (1 errors) ==== + declare const dynPropName = "data-dyn"; + export declare const ExampleFunctionalComponent: ({ "data-testid": dataTestId, [dynPropName]: dynProp }: { + "data-dyn": any; + "data-testid": any; + }) => JSX.Element; + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + export {}; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsNonIdentifierInferredNames.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNonIdentifierInferredNames.js.diff new file mode 100644 index 0000000000..a97e6da0c6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsNonIdentifierInferredNames.js.diff @@ -0,0 +1,38 @@ +--- old.jsDeclarationsNonIdentifierInferredNames.js ++++ new.jsDeclarationsNonIdentifierInferredNames.js +@@= skipped -15, +15 lines =@@ + + + //// [jsDeclarationsNonIdentifierInferredNames.d.ts] +-export function ExampleFunctionalComponent({ "data-testid": dataTestId, [dynPropName]: dynProp }: { ++declare const dynPropName = "data-dyn"; ++export declare const ExampleFunctionalComponent: ({ "data-testid": dataTestId, [dynPropName]: dynProp }: { + "data-dyn": any; + "data-testid": any; +-}): JSX.Element; +-declare const dynPropName: "data-dyn"; ++}) => JSX.Element; + export {}; + + + //// [DtsFileErrors] + + +-out/jsDeclarationsNonIdentifierInferredNames.d.ts(4,5): error TS2503: Cannot find namespace 'JSX'. ++out/jsDeclarationsNonIdentifierInferredNames.d.ts(5,7): error TS2503: Cannot find namespace 'JSX'. + + + ==== out/jsDeclarationsNonIdentifierInferredNames.d.ts (1 errors) ==== +- export function ExampleFunctionalComponent({ "data-testid": dataTestId, [dynPropName]: dynProp }: { ++ declare const dynPropName = "data-dyn"; ++ export declare const ExampleFunctionalComponent: ({ "data-testid": dataTestId, [dynPropName]: dynProp }: { + "data-dyn": any; + "data-testid": any; +- }): JSX.Element; +- ~~~ ++ }) => JSX.Element; ++ ~~~ + !!! error TS2503: Cannot find namespace 'JSX'. +- declare const dynPropName: "data-dyn"; + export {}; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps1.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps1.js new file mode 100644 index 0000000000..d379aef9ed --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps1.js @@ -0,0 +1,50 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsOptionalTypeLiteralProps1.ts] //// + +//// [foo.js] +/** + * foo + * + * @public + * @param {object} opts + * @param {number} opts.a + * @param {number} [opts.b] + * @param {number} [opts.c] + * @returns {number} + */ +function foo({ a, b, c }) { + return a + b + c; +} + + +//// [foo.js] +/** + * foo + * + * @public + * @param {object} opts + * @param {number} opts.a + * @param {number} [opts.b] + * @param {number} [opts.c] + * @returns {number} + */ +function foo({ a, b, c }) { + return a + b + c; +} + + +//// [foo.d.ts] +/** + * foo + * + * @public + * @param {object} opts + * @param {number} opts.a + * @param {number} [opts.b] + * @param {number} [opts.c] + * @returns {number} + */ +declare function foo({ a, b, c }: { + a: any; + b: any; + c: any; +}): number; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps1.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps1.js.diff new file mode 100644 index 0000000000..5f843f01a8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps1.js.diff @@ -0,0 +1,13 @@ +--- old.jsDeclarationsOptionalTypeLiteralProps1.js ++++ new.jsDeclarationsOptionalTypeLiteralProps1.js +@@= skipped -43, +43 lines =@@ + * @returns {number} + */ + declare function foo({ a, b, c }: { +- a: number; +- b?: number; +- c?: number; ++ a: any; ++ b: any; ++ c: any; + }): number; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps2.js new file mode 100644 index 0000000000..9983fdcc96 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps2.js @@ -0,0 +1,50 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsOptionalTypeLiteralProps2.ts] //// + +//// [foo.js] +/** + * foo + * + * @public + * @param {object} opts + * @param {number} opts.a + * @param {number} [opts.b] + * @param {number} [opts.c] + * @returns {number} + */ +function foo({ a, b, c }) { + return a + (b ?? 0) + (c ?? 0); +} + + +//// [foo.js] +/** + * foo + * + * @public + * @param {object} opts + * @param {number} opts.a + * @param {number} [opts.b] + * @param {number} [opts.c] + * @returns {number} + */ +function foo({ a, b, c }) { + return a + (b ?? 0) + (c ?? 0); +} + + +//// [foo.d.ts] +/** + * foo + * + * @public + * @param {object} opts + * @param {number} opts.a + * @param {number} [opts.b] + * @param {number} [opts.c] + * @returns {number} + */ +declare function foo({ a, b, c }: { + a: any; + b: any; + c: any; +}): number; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps2.js.diff new file mode 100644 index 0000000000..bed970b753 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsOptionalTypeLiteralProps2.js.diff @@ -0,0 +1,21 @@ +--- old.jsDeclarationsOptionalTypeLiteralProps2.js ++++ new.jsDeclarationsOptionalTypeLiteralProps2.js +@@= skipped -16, +16 lines =@@ + + + //// [foo.js] +-"use strict"; + /** + * foo + * +@@= skipped -28, +27 lines =@@ + * @returns {number} + */ + declare function foo({ a, b, c }: { +- a: number; +- b?: number | undefined; +- c?: number | undefined; ++ a: any; ++ b: any; ++ c: any; + }): number; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js new file mode 100644 index 0000000000..ab138e272a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js @@ -0,0 +1,93 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsPackageJson.ts] //// + +//// [index.js] +const j = require("./package.json"); +module.exports = j; +//// [package.json] +{ + "name": "pkg", + "version": "0.1.0", + "description": "A package", + "main": "./dist/index.js", + "bin": { + "cli": "./bin/cli.js", + }, + "engines": { + "node": ">=0" + }, + "scripts": { + "scriptname": "run && run again", + }, + "devDependencies": { + "@ns/dep": "0.1.2", + }, + "dependencies": { + "dep": "1.2.3", + }, + "repository": "microsoft/TypeScript", + "keywords": [ + "kw" + ], + "author": "Auth", + "license": "See Licensce", + "homepage": "https://site", + "config": { + "o": ["a"] + } +} + + +//// [index.js] +const j = require("./package.json"); +export = j; +module.exports = j; + + +//// [index.d.ts] +export = j; + + +//// [DtsFileErrors] + + +out/index.d.ts(1,10): error TS2304: Cannot find name 'j'. + + +==== out/index.d.ts (1 errors) ==== + export = j; + ~ +!!! error TS2304: Cannot find name 'j'. + +==== package.json (0 errors) ==== + { + "name": "pkg", + "version": "0.1.0", + "description": "A package", + "main": "./dist/index.js", + "bin": { + "cli": "./bin/cli.js", + }, + "engines": { + "node": ">=0" + }, + "scripts": { + "scriptname": "run && run again", + }, + "devDependencies": { + "@ns/dep": "0.1.2", + }, + "dependencies": { + "dep": "1.2.3", + }, + "repository": "microsoft/TypeScript", + "keywords": [ + "kw" + ], + "author": "Auth", + "license": "See Licensce", + "homepage": "https://site", + "config": { + "o": ["a"] + } + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff new file mode 100644 index 0000000000..5f87a1783e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPackageJson.js.diff @@ -0,0 +1,121 @@ +--- old.jsDeclarationsPackageJson.js ++++ new.jsDeclarationsPackageJson.js +@@= skipped -36, +36 lines =@@ + } + + +-//// [package.json] +-{ +- "name": "pkg", +- "version": "0.1.0", +- "description": "A package", +- "main": "./dist/index.js", +- "bin": { +- "cli": "./bin/cli.js" +- }, +- "engines": { +- "node": ">=0" +- }, +- "scripts": { +- "scriptname": "run && run again" +- }, +- "devDependencies": { +- "@ns/dep": "0.1.2" +- }, +- "dependencies": { +- "dep": "1.2.3" +- }, +- "repository": "microsoft/TypeScript", +- "keywords": [ +- "kw" +- ], +- "author": "Auth", +- "license": "See Licensce", +- "homepage": "https://site", +- "config": { +- "o": ["a"] +- } +-} + //// [index.js] + const j = require("./package.json"); ++export = j; + module.exports = j; + + + //// [index.d.ts] + export = j; +-declare const j: { +- name: string; +- version: string; +- description: string; +- main: string; +- bin: { +- cli: string; +- }; +- engines: { +- node: string; +- }; +- scripts: { +- scriptname: string; +- }; +- devDependencies: { +- "@ns/dep": string; +- }; +- dependencies: { +- dep: string; +- }; +- repository: string; +- keywords: string[]; +- author: string; +- license: string; +- homepage: string; +- config: { +- o: string[]; +- }; +-}; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(1,10): error TS2304: Cannot find name 'j'. ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ export = j; ++ ~ ++!!! error TS2304: Cannot find name 'j'. ++ ++==== package.json (0 errors) ==== ++ { ++ "name": "pkg", ++ "version": "0.1.0", ++ "description": "A package", ++ "main": "./dist/index.js", ++ "bin": { ++ "cli": "./bin/cli.js", ++ }, ++ "engines": { ++ "node": ">=0" ++ }, ++ "scripts": { ++ "scriptname": "run && run again", ++ }, ++ "devDependencies": { ++ "@ns/dep": "0.1.2", ++ }, ++ "dependencies": { ++ "dep": "1.2.3", ++ }, ++ "repository": "microsoft/TypeScript", ++ "keywords": [ ++ "kw" ++ ], ++ "author": "Auth", ++ "license": "See Licensce", ++ "homepage": "https://site", ++ "config": { ++ "o": ["a"] ++ } ++ } ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js new file mode 100644 index 0000000000..6be074102e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js @@ -0,0 +1,68 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsParameterTagReusesInputNodeInEmit1.ts] //// + +//// [base.js] +class Base { + constructor() {} +} + +const BaseFactory = () => { + return new Base(); +}; + +BaseFactory.Base = Base; + +module.exports = BaseFactory; + +//// [file.js] +/** @typedef {import('./base')} BaseFactory */ +/** + * @callback BaseFactoryFactory + * @param {import('./base')} factory + */ +/** @enum {import('./base')} */ +const couldntThinkOfAny = {} + +/** + * + * @param {InstanceType} base + * @returns {InstanceType} + */ +const test = (base) => { + return base; +}; + + +//// [base.js] +class Base { + constructor() { } +} +const BaseFactory = () => { + return new Base(); +}; +BaseFactory.Base = Base; +export = BaseFactory; +module.exports = BaseFactory; +//// [file.js] +/** @typedef {import('./base')} BaseFactory */ +/** + * @callback BaseFactoryFactory + * @param {import('./base')} factory + */ +/** @enum {import('./base')} */ +const couldntThinkOfAny = {}; +/** + * + * @param {InstanceType} base + * @returns {InstanceType} + */ +const test = (base) => { + return base; +}; +export {}; + + +//// [base.d.ts] +export = BaseFactory; +//// [file.d.ts] +export type BaseFactory = import('./base'); +export type BaseFactoryFactory = (factory: import('./base')) ; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff new file mode 100644 index 0000000000..f2dae38cd5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit1.js.diff @@ -0,0 +1,59 @@ +--- old.jsDeclarationsParameterTagReusesInputNodeInEmit1.js ++++ new.jsDeclarationsParameterTagReusesInputNodeInEmit1.js +@@= skipped -39, +39 lines =@@ + return new Base(); + }; + BaseFactory.Base = Base; ++export = BaseFactory; + module.exports = BaseFactory; + //// [file.js] + /** @typedef {import('./base')} BaseFactory */ +@@= skipped -17, +18 lines =@@ + const test = (base) => { + return base; + }; ++export {}; + + + //// [base.d.ts] + export = BaseFactory; +-declare function BaseFactory(): Base; +-declare namespace BaseFactory { +- export { Base }; +-} +-declare class Base { +-} + //// [file.d.ts] +-type couldntThinkOfAny = { +- (): {}; +- Base: { +- new (): {}; +- }; +-}; +-/** @typedef {import('./base')} BaseFactory */ +-/** +- * @callback BaseFactoryFactory +- * @param {import('./base')} factory +- */ +-/** @enum {import('./base')} */ +-declare const couldntThinkOfAny: {}; +-/** +- * +- * @param {InstanceType} base +- * @returns {InstanceType} +- */ +-declare function test(base: InstanceType): InstanceType; +-type BaseFactory = { +- (): {}; +- Base: { +- new (): {}; +- }; +-}; +-type BaseFactoryFactory = (factory: { +- (): {}; +- Base: { +- new (): {}; +- }; +-}) => any; ++export type BaseFactory = import('./base'); ++export type BaseFactoryFactory = (factory: import('./base')) ; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js new file mode 100644 index 0000000000..3c6498cabf --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js @@ -0,0 +1,55 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsParameterTagReusesInputNodeInEmit2.ts] //// + +//// [base.js] +class Base { + constructor() {} +} + +const BaseFactory = () => { + return new Base(); +}; + +BaseFactory.Base = Base; + +module.exports = BaseFactory; + +//// [file.js] +/** @typedef {typeof import('./base')} BaseFactory */ + +/** + * + * @param {InstanceType} base + * @returns {InstanceType} + */ +const test = (base) => { + return base; +}; + + +//// [base.js] +class Base { + constructor() { } +} +const BaseFactory = () => { + return new Base(); +}; +BaseFactory.Base = Base; +export = BaseFactory; +module.exports = BaseFactory; +//// [file.js] +/** @typedef {typeof import('./base')} BaseFactory */ +/** + * + * @param {InstanceType} base + * @returns {InstanceType} + */ +const test = (base) => { + return base; +}; +export {}; + + +//// [base.d.ts] +export = BaseFactory; +//// [file.d.ts] +export type BaseFactory = typeof import('./base'); diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff new file mode 100644 index 0000000000..4e00b4f79b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsParameterTagReusesInputNodeInEmit2.js.diff @@ -0,0 +1,35 @@ +--- old.jsDeclarationsParameterTagReusesInputNodeInEmit2.js ++++ new.jsDeclarationsParameterTagReusesInputNodeInEmit2.js +@@= skipped -33, +33 lines =@@ + return new Base(); + }; + BaseFactory.Base = Base; ++export = BaseFactory; + module.exports = BaseFactory; + //// [file.js] + /** @typedef {typeof import('./base')} BaseFactory */ +@@= skipped -11, +12 lines =@@ + const test = (base) => { + return base; + }; ++export {}; + + + //// [base.d.ts] + export = BaseFactory; +-declare function BaseFactory(): Base; +-declare namespace BaseFactory { +- export { Base }; +-} +-declare class Base { +-} + //// [file.d.ts] +-/** @typedef {typeof import('./base')} BaseFactory */ +-/** +- * +- * @param {InstanceType} base +- * @returns {InstanceType} +- */ +-declare function test(base: InstanceType): InstanceType; +-type BaseFactory = typeof import("./base"); ++export type BaseFactory = typeof import('./base'); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPrivateFields01.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPrivateFields01.js new file mode 100644 index 0000000000..f7d3e3a62d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPrivateFields01.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsPrivateFields01.ts] //// + +//// [file.js] +export class C { + #hello = "hello"; + #world = 100; + + #calcHello() { + return this.#hello; + } + + get #screamingHello() { + return this.#hello.toUpperCase(); + } + /** @param value {string} */ + set #screamingHello(value) { + throw "NO"; + } + + getWorld() { + return this.#world; + } +} + + + + +//// [file.d.ts] +export declare class C { + #private; + getWorld(): number; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsPrivateFields01.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPrivateFields01.js.diff new file mode 100644 index 0000000000..f224b6a7b1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsPrivateFields01.js.diff @@ -0,0 +1,12 @@ +--- old.jsDeclarationsPrivateFields01.js ++++ new.jsDeclarationsPrivateFields01.js +@@= skipped -25, +25 lines =@@ + + + //// [file.d.ts] +-export class C { +- getWorld(): number; ++export declare class C { + #private; ++ getWorld(): number; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReactComponents.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReactComponents.js new file mode 100644 index 0000000000..d7751ce4d7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReactComponents.js @@ -0,0 +1,303 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsReactComponents.ts] //// + +//// [jsDeclarationsReactComponents1.jsx] +/// +import React from "react"; +import PropTypes from "prop-types" + +const TabbedShowLayout = ({ +}) => { + return ( +
+ ); +}; + +TabbedShowLayout.propTypes = { + version: PropTypes.number, + +}; + +TabbedShowLayout.defaultProps = { + tabs: undefined +}; + +export default TabbedShowLayout; + +//// [jsDeclarationsReactComponents2.jsx] +import React from "react"; +/** + * @type {React.SFC} + */ +const TabbedShowLayout = () => { + return ( +
+ ok +
+ ); +}; + +TabbedShowLayout.defaultProps = { + tabs: "default value" +}; + +export default TabbedShowLayout; + +//// [jsDeclarationsReactComponents3.jsx] +import React from "react"; +/** + * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} + */ +const TabbedShowLayout = () => { + return ( +
+ ok +
+ ); +}; + +TabbedShowLayout.defaultProps = { + tabs: "default value" +}; + +export default TabbedShowLayout; + +//// [jsDeclarationsReactComponents4.jsx] +import React from "react"; +const TabbedShowLayout = (/** @type {{className: string}}*/prop) => { + return ( +
+ ok +
+ ); +}; + +TabbedShowLayout.defaultProps = { + tabs: "default value" +}; + +export default TabbedShowLayout; +//// [jsDeclarationsReactComponents5.jsx] +import React from 'react'; +import PropTypes from 'prop-types'; + +function Tree({ allowDropOnRoot }) { + return
+} + +Tree.propTypes = { + classes: PropTypes.object, +}; + +Tree.defaultProps = { + classes: {}, + parentSource: 'parent_id', +}; + +export default Tree; + +//// [jsDeclarationsReactComponents1.js] +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +/// +const react_1 = __importDefault(require("react")); +const prop_types_1 = __importDefault(require("prop-types")); +const TabbedShowLayout = ({}) => { + return (react_1.default.createElement("div", null)); +}; +TabbedShowLayout.propTypes = { + version: prop_types_1.default.number, +}; +TabbedShowLayout.defaultProps = { + tabs: undefined +}; +exports.default = TabbedShowLayout; +//// [jsDeclarationsReactComponents2.js] +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = __importDefault(require("react")); +/** + * @type {React.SFC} + */ +const TabbedShowLayout = () => { + return (react_1.default.createElement("div", { className: "", key: "" }, "o")); +}; +TabbedShowLayout.defaultProps = { + tabs: "default value" +}; +exports.default = TabbedShowLayout; +//// [jsDeclarationsReactComponents3.js] +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = __importDefault(require("react")); +/** + * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} + */ +const TabbedShowLayout = () => { + return (react_1.default.createElement("div", { className: "", key: "" }, "o")); +}; +TabbedShowLayout.defaultProps = { + tabs: "default value" +}; +exports.default = TabbedShowLayout; +//// [jsDeclarationsReactComponents4.js] +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = __importDefault(require("react")); +const TabbedShowLayout = (/** @type {{className: string}}*/ prop) => { + return (react_1.default.createElement("div", { className: prop.className, key: "" }, "o")); +}; +TabbedShowLayout.defaultProps = { + tabs: "default value" +}; +exports.default = TabbedShowLayout; +//// [jsDeclarationsReactComponents5.js] +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const react_1 = __importDefault(require("react")); +const prop_types_1 = __importDefault(require("prop-types")); +function Tree({ allowDropOnRoot }) { + return react_1.default.createElement("div", null); +} +Tree.propTypes = { + classes: prop_types_1.default.object, +}; +Tree.defaultProps = { + classes: {}, + parentSource: 'parent_id', +}; +exports.default = Tree; + + +//// [jsDeclarationsReactComponents1.d.ts] +import PropTypes from "prop-types"; +declare const TabbedShowLayout: { + ({}: {}): JSX.Element; + propTypes: { + version: PropTypes.Requireable; + }; + defaultProps: { + tabs: undefined; + }; +}; +export default TabbedShowLayout; +//// [jsDeclarationsReactComponents2.d.ts] +import React from "react"; +/** + * @type {React.SFC} + */ +declare const TabbedShowLayout: React.SFC; +export default TabbedShowLayout; +//// [jsDeclarationsReactComponents3.d.ts] +/** + * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} + */ +declare const TabbedShowLayout: { + defaultProps: { + tabs: string; + }; +} & ((props?: { + elem: string; +}) => JSX.Element); +export default TabbedShowLayout; +//// [jsDeclarationsReactComponents4.d.ts] +declare const TabbedShowLayout: { + (prop: any): JSX.Element; + defaultProps: { + tabs: string; + }; +}; +export default TabbedShowLayout; +//// [jsDeclarationsReactComponents5.d.ts] +declare function Tree({ allowDropOnRoot }: { + allowDropOnRoot: any; +}): JSX.Element; +export default Tree; + + +//// [DtsFileErrors] + + +out/jsDeclarationsReactComponents1.d.ts(1,23): error TS2307: Cannot find module 'prop-types' or its corresponding type declarations. +out/jsDeclarationsReactComponents1.d.ts(3,15): error TS2503: Cannot find namespace 'JSX'. +out/jsDeclarationsReactComponents2.d.ts(1,19): error TS2307: Cannot find module 'react' or its corresponding type declarations. +out/jsDeclarationsReactComponents3.d.ts(10,7): error TS2503: Cannot find namespace 'JSX'. +out/jsDeclarationsReactComponents4.d.ts(2,18): error TS2503: Cannot find namespace 'JSX'. +out/jsDeclarationsReactComponents5.d.ts(3,5): error TS2503: Cannot find namespace 'JSX'. + + +==== out/jsDeclarationsReactComponents1.d.ts (2 errors) ==== + import PropTypes from "prop-types"; + ~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'prop-types' or its corresponding type declarations. + declare const TabbedShowLayout: { + ({}: {}): JSX.Element; + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + propTypes: { + version: PropTypes.Requireable; + }; + defaultProps: { + tabs: undefined; + }; + }; + export default TabbedShowLayout; + +==== out/jsDeclarationsReactComponents2.d.ts (1 errors) ==== + import React from "react"; + ~~~~~~~ +!!! error TS2307: Cannot find module 'react' or its corresponding type declarations. + /** + * @type {React.SFC} + */ + declare const TabbedShowLayout: React.SFC; + export default TabbedShowLayout; + +==== out/jsDeclarationsReactComponents3.d.ts (1 errors) ==== + /** + * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} + */ + declare const TabbedShowLayout: { + defaultProps: { + tabs: string; + }; + } & ((props?: { + elem: string; + }) => JSX.Element); + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + export default TabbedShowLayout; + +==== out/jsDeclarationsReactComponents4.d.ts (1 errors) ==== + declare const TabbedShowLayout: { + (prop: any): JSX.Element; + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + defaultProps: { + tabs: string; + }; + }; + export default TabbedShowLayout; + +==== out/jsDeclarationsReactComponents5.d.ts (1 errors) ==== + declare function Tree({ allowDropOnRoot }: { + allowDropOnRoot: any; + }): JSX.Element; + ~~~ +!!! error TS2503: Cannot find namespace 'JSX'. + export default Tree; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReactComponents.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReactComponents.js.diff new file mode 100644 index 0000000000..2fed74569e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReactComponents.js.diff @@ -0,0 +1,221 @@ +--- old.jsDeclarationsReactComponents.js ++++ new.jsDeclarationsReactComponents.js +@@= skipped -101, +101 lines =@@ + }; + Object.defineProperty(exports, "__esModule", { value: true }); + /// +-var react_1 = __importDefault(require("react")); +-var prop_types_1 = __importDefault(require("prop-types")); ++const react_1 = __importDefault(require("react")); ++const prop_types_1 = __importDefault(require("prop-types")); + const TabbedShowLayout = ({}) => { + return (react_1.default.createElement("div", null)); + }; +@@= skipped -18, +18 lines =@@ + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); +-var react_1 = __importDefault(require("react")); ++const react_1 = __importDefault(require("react")); + /** + * @type {React.SFC} + */ + const TabbedShowLayout = () => { +- return (react_1.default.createElement("div", { className: "", key: "" }, "ok")); ++ return (react_1.default.createElement("div", { className: "", key: "" }, "o")); + }; + TabbedShowLayout.defaultProps = { + tabs: "default value" +@@= skipped -17, +17 lines =@@ + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); +-var react_1 = __importDefault(require("react")); ++const react_1 = __importDefault(require("react")); + /** + * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} + */ + const TabbedShowLayout = () => { +- return (react_1.default.createElement("div", { className: "", key: "" }, "ok")); ++ return (react_1.default.createElement("div", { className: "", key: "" }, "o")); + }; + TabbedShowLayout.defaultProps = { + tabs: "default value" +@@= skipped -17, +17 lines =@@ + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); +-var react_1 = __importDefault(require("react")); ++const react_1 = __importDefault(require("react")); + const TabbedShowLayout = (/** @type {{className: string}}*/ prop) => { +- return (react_1.default.createElement("div", { className: prop.className, key: "" }, "ok")); ++ return (react_1.default.createElement("div", { className: prop.className, key: "" }, "o")); + }; + TabbedShowLayout.defaultProps = { + tabs: "default value" +@@= skipped -14, +14 lines =@@ + return (mod && mod.__esModule) ? mod : { "default": mod }; + }; + Object.defineProperty(exports, "__esModule", { value: true }); +-var react_1 = __importDefault(require("react")); +-var prop_types_1 = __importDefault(require("prop-types")); ++const react_1 = __importDefault(require("react")); ++const prop_types_1 = __importDefault(require("prop-types")); + function Tree({ allowDropOnRoot }) { + return react_1.default.createElement("div", null); + } +@@= skipped -16, +16 lines =@@ + + + //// [jsDeclarationsReactComponents1.d.ts] +-/// +-export default TabbedShowLayout; +-declare function TabbedShowLayout({}: {}): JSX.Element; +-declare namespace TabbedShowLayout { +- namespace propTypes { +- let version: PropTypes.Requireable; +- } +- namespace defaultProps { +- let tabs: undefined; +- } +-} + import PropTypes from "prop-types"; ++declare const TabbedShowLayout: { ++ ({}: {}): JSX.Element; ++ propTypes: { ++ version: PropTypes.Requireable; ++ }; ++ defaultProps: { ++ tabs: undefined; ++ }; ++}; ++export default TabbedShowLayout; + //// [jsDeclarationsReactComponents2.d.ts] +-export default TabbedShowLayout; +-/** +- * @type {React.SFC} +- */ +-declare const TabbedShowLayout: React.SFC; + import React from "react"; ++/** ++ * @type {React.SFC} ++ */ ++declare const TabbedShowLayout: React.SFC; ++export default TabbedShowLayout; + //// [jsDeclarationsReactComponents3.d.ts] +-export default TabbedShowLayout; + /** + * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} + */ +@@= skipped -31, +29 lines =@@ + } & ((props?: { + elem: string; + }) => JSX.Element); ++export default TabbedShowLayout; + //// [jsDeclarationsReactComponents4.d.ts] ++declare const TabbedShowLayout: { ++ (prop: any): JSX.Element; ++ defaultProps: { ++ tabs: string; ++ }; ++}; + export default TabbedShowLayout; +-declare function TabbedShowLayout(prop: { +- className: string; +-}): JSX.Element; +-declare namespace TabbedShowLayout { +- namespace defaultProps { +- let tabs: string; +- } +-} + //// [jsDeclarationsReactComponents5.d.ts] +-export default Tree; + declare function Tree({ allowDropOnRoot }: { + allowDropOnRoot: any; + }): JSX.Element; +-declare namespace Tree { +- namespace propTypes { +- let classes: PropTypes.Requireable; +- } +- namespace defaultProps { +- let classes_1: {}; +- export { classes_1 as classes }; +- export let parentSource: string; +- } +-} +-import PropTypes from 'prop-types'; ++export default Tree; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/jsDeclarationsReactComponents1.d.ts(1,23): error TS2307: Cannot find module 'prop-types' or its corresponding type declarations. ++out/jsDeclarationsReactComponents1.d.ts(3,15): error TS2503: Cannot find namespace 'JSX'. ++out/jsDeclarationsReactComponents2.d.ts(1,19): error TS2307: Cannot find module 'react' or its corresponding type declarations. ++out/jsDeclarationsReactComponents3.d.ts(10,7): error TS2503: Cannot find namespace 'JSX'. ++out/jsDeclarationsReactComponents4.d.ts(2,18): error TS2503: Cannot find namespace 'JSX'. ++out/jsDeclarationsReactComponents5.d.ts(3,5): error TS2503: Cannot find namespace 'JSX'. ++ ++ ++==== out/jsDeclarationsReactComponents1.d.ts (2 errors) ==== ++ import PropTypes from "prop-types"; ++ ~~~~~~~~~~~~ ++!!! error TS2307: Cannot find module 'prop-types' or its corresponding type declarations. ++ declare const TabbedShowLayout: { ++ ({}: {}): JSX.Element; ++ ~~~ ++!!! error TS2503: Cannot find namespace 'JSX'. ++ propTypes: { ++ version: PropTypes.Requireable; ++ }; ++ defaultProps: { ++ tabs: undefined; ++ }; ++ }; ++ export default TabbedShowLayout; ++ ++==== out/jsDeclarationsReactComponents2.d.ts (1 errors) ==== ++ import React from "react"; ++ ~~~~~~~ ++!!! error TS2307: Cannot find module 'react' or its corresponding type declarations. ++ /** ++ * @type {React.SFC} ++ */ ++ declare const TabbedShowLayout: React.SFC; ++ export default TabbedShowLayout; ++ ++==== out/jsDeclarationsReactComponents3.d.ts (1 errors) ==== ++ /** ++ * @type {{defaultProps: {tabs: string}} & ((props?: {elem: string}) => JSX.Element)} ++ */ ++ declare const TabbedShowLayout: { ++ defaultProps: { ++ tabs: string; ++ }; ++ } & ((props?: { ++ elem: string; ++ }) => JSX.Element); ++ ~~~ ++!!! error TS2503: Cannot find namespace 'JSX'. ++ export default TabbedShowLayout; ++ ++==== out/jsDeclarationsReactComponents4.d.ts (1 errors) ==== ++ declare const TabbedShowLayout: { ++ (prop: any): JSX.Element; ++ ~~~ ++!!! error TS2503: Cannot find namespace 'JSX'. ++ defaultProps: { ++ tabs: string; ++ }; ++ }; ++ export default TabbedShowLayout; ++ ++==== out/jsDeclarationsReactComponents5.d.ts (1 errors) ==== ++ declare function Tree({ allowDropOnRoot }: { ++ allowDropOnRoot: any; ++ }): JSX.Element; ++ ~~~ ++!!! error TS2503: Cannot find namespace 'JSX'. ++ export default Tree; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliases.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliases.js new file mode 100644 index 0000000000..3026f124f4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliases.js @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsReexportAliases.ts] //// + +//// [cls.js] +export default class Foo {} + +//// [usage.js] +import {default as Fooa} from "./cls"; + +export const x = new Fooa(); + +export {default as Foob} from "./cls"; + + +//// [cls.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class Foo { +} +exports.default = Foo; +//// [usage.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Foob = exports.x = void 0; +const cls_1 = require("./cls"); +exports.x = new cls_1.default(); +const cls_2 = require("./cls"); +Object.defineProperty(exports, "Foob", { enumerable: true, get: function () { return cls_2.default; } }); + + +//// [cls.d.ts] +export default class Foo { +} +//// [usage.d.ts] +import { default as Fooa } from "./cls"; +export declare const x: Fooa; +export { default as Foob } from "./cls"; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliases.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliases.js.diff new file mode 100644 index 0000000000..453b316f0f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportAliases.js.diff @@ -0,0 +1,23 @@ +--- old.jsDeclarationsReexportAliases.js ++++ new.jsDeclarationsReexportAliases.js +@@= skipped -20, +20 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Foob = exports.x = void 0; +-var cls_1 = require("./cls"); ++const cls_1 = require("./cls"); + exports.x = new cls_1.default(); +-var cls_2 = require("./cls"); ++const cls_2 = require("./cls"); + Object.defineProperty(exports, "Foob", { enumerable: true, get: function () { return cls_2.default; } }); + + +@@= skipped -10, +10 lines =@@ + export default class Foo { + } + //// [usage.d.ts] +-export const x: Fooa; +-export { default as Foob } from "./cls"; + import { default as Fooa } from "./cls"; ++export declare const x: Fooa; ++export { default as Foob } from "./cls"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias.js new file mode 100644 index 0000000000..28313a5f19 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias.js @@ -0,0 +1,79 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsReexportedCjsAlias.ts] //// + +//// [lib.js] +/** + * @param {string} a + */ +function bar(a) { + return a + a; +} + +class SomeClass { + a() { + return 1; + } +} + +module.exports = { + bar, + SomeClass +} +//// [main.js] +const { SomeClass, SomeClass: Another } = require('./lib'); + +module.exports = { + SomeClass, + Another +} + +//// [lib.js] +/** + * @param {string} a + */ +function bar(a) { + return a + a; +} +class SomeClass { + a() { + return 1; + } +} +module.exports = { + bar, + SomeClass +}; +//// [main.js] +const { SomeClass, SomeClass: Another } = require('./lib'); +module.exports = { + SomeClass, + Another +}; + + +//// [lib.d.ts] +/** + * @param {string} a + */ +declare function bar(a: string): string; +declare class SomeClass { + a(): number; +} +declare const _default: { + bar: typeof bar; + SomeClass: typeof SomeClass; +}; +export = _default; +//// [main.d.ts] +declare const _default: { + SomeClass: { + new (): { + a(): number; + }; + }; + Another: { + new (): { + a(): number; + }; + }; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias.js.diff new file mode 100644 index 0000000000..f82dbb924b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReexportedCjsAlias.js.diff @@ -0,0 +1,34 @@ +--- old.jsDeclarationsReexportedCjsAlias.js ++++ new.jsDeclarationsReexportedCjsAlias.js +@@= skipped -53, +53 lines =@@ + /** + * @param {string} a + */ +-export function bar(a: string): string; +-export class SomeClass { ++declare function bar(a: string): string; ++declare class SomeClass { + a(): number; + } ++declare const _default: { ++ bar: typeof bar; ++ SomeClass: typeof SomeClass; ++}; ++export = _default; + //// [main.d.ts] +-import { SomeClass } from "./lib"; +-import { SomeClass as Another } from "./lib"; +-export { SomeClass, Another }; ++declare const _default: { ++ SomeClass: { ++ new (): { ++ a(): number; ++ }; ++ }; ++ Another: { ++ new (): { ++ a(): number; ++ }; ++ }; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.js new file mode 100644 index 0000000000..cd7062ca0f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.js @@ -0,0 +1,67 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsReferenceToClassInstanceCrossFile.ts] //// + +//// [rectangle.js] +class Rectangle { + constructor() { + console.log("I'm a rectangle!"); + } +} + +module.exports = { Rectangle }; +//// [index.js] +const {Rectangle} = require('./rectangle'); + +class Render { + constructor() { + /** + * Object list + * @type {Rectangle[]} + */ + this.objects = []; + } + /** + * Adds a rectangle + * + * @returns {Rectangle} the rect + */ + addRectangle() { + const obj = new Rectangle(); + this.objects.push(obj); + return obj; + } +} + +module.exports = { Render }; +//// [test.js] +const {Render} = require("./index"); +let render = new Render(); + +render.addRectangle(); +console.log("Objects", render.objects); + + + +//// [rectangle.d.ts] +declare class Rectangle { + constructor(); +} +declare const _default: { + Rectangle: typeof Rectangle; +}; +export = _default; +//// [index.d.ts] +declare class Render { + constructor(); + /** + * Adds a rectangle + * + * @returns {Rectangle} the rect + */ + addRectangle(): Rectangle; +} +declare const _default: { + Render: typeof Render; +}; +export = _default; +//// [test.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.js.diff new file mode 100644 index 0000000000..de37456244 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReferenceToClassInstanceCrossFile.js.diff @@ -0,0 +1,37 @@ +--- old.jsDeclarationsReferenceToClassInstanceCrossFile.js ++++ new.jsDeclarationsReferenceToClassInstanceCrossFile.js +@@= skipped -41, +41 lines =@@ + + + //// [rectangle.d.ts] +-export class Rectangle { ++declare class Rectangle { ++ constructor(); + } ++declare const _default: { ++ Rectangle: typeof Rectangle; ++}; ++export = _default; + //// [index.d.ts] +-export class Render { +- /** +- * Object list +- * @type {Rectangle[]} +- */ +- objects: Rectangle[]; ++declare class Render { ++ constructor(); + /** + * Adds a rectangle + * +@@= skipped -16, +17 lines =@@ + */ + addRectangle(): Rectangle; + } +-import { Rectangle } from "./rectangle"; ++declare const _default: { ++ Render: typeof Render; ++}; ++export = _default; + //// [test.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js new file mode 100644 index 0000000000..36a7baf83b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js @@ -0,0 +1,31 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.ts] //// + +//// [bug38550.js] +export class Clazz { + /** + * @param {function(this:Object, ...*):*} functionDeclaration + */ + method(functionDeclaration) {} +} + + +//// [bug38550.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Clazz = void 0; +class Clazz { + /** + * @param {function(this:Object, ...*):*} functionDeclaration + */ + method(functionDeclaration) { } +} +exports.Clazz = Clazz; + + +//// [bug38550.d.ts] +export declare class Clazz { + /** + * @param {function(this:Object, ...*):*} functionDeclaration + */ + method(functionDeclaration: any): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js.diff new file mode 100644 index 0000000000..b4c316a603 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js.diff @@ -0,0 +1,14 @@ +--- old.jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js ++++ new.jsDeclarationsRestArgsWithThisTypeInJSDocFunction.js +@@= skipped -22, +22 lines =@@ + + + //// [bug38550.d.ts] +-export class Clazz { ++export declare class Clazz { + /** + * @param {function(this:Object, ...*):*} functionDeclaration + */ +- method(functionDeclaration: (this: any, ...args: any[]) => any): void; ++ method(functionDeclaration: any): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingNodesMappingJSDocTypes.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingNodesMappingJSDocTypes.js new file mode 100644 index 0000000000..2ca66833d1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingNodesMappingJSDocTypes.js @@ -0,0 +1,67 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsReusesExistingNodesMappingJSDocTypes.ts] //// + +//// [index.js] +/** @type {?} */ +export const a = null; + +/** @type {*} */ +export const b = null; + +/** @type {string?} */ +export const c = null; + +/** @type {string=} */ +export const d = null; + +/** @type {string!} */ +export const e = null; + +/** @type {function(string, number): object} */ +export const f = null; + +/** @type {function(new: object, string, number)} */ +export const g = null; + +/** @type {Object.} */ +export const h = null; + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.h = exports.g = exports.f = exports.e = exports.d = exports.c = exports.b = exports.a = void 0; +/** @type {?} */ +exports.a = null; +/** @type {*} */ +exports.b = null; +/** @type {string?} */ +exports.c = null; +/** @type {string=} */ +exports.d = null; +/** @type {string!} */ +exports.e = null; +/** @type {function(string, number): object} */ +exports.f = null; +/** @type {function(new: object, string, number)} */ +exports.g = null; +/** @type {Object.} */ +exports.h = null; + + +//// [index.d.ts] +/** @type {?} */ +export declare const a: | null; +/** @type {*} */ +export declare const b: any; +/** @type {string?} */ +export declare const c: string | null; +/** @type {string=} */ +export declare const d: string | undefined; +/** @type {string!} */ +export declare const e: string; +/** @type {function(string, number): object} */ +export declare const f: function; +/** @type {function(new: object, string, number)} */ +export declare const g: function; +/** @type {Object.} */ +export declare const h: Object; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingNodesMappingJSDocTypes.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingNodesMappingJSDocTypes.js.diff new file mode 100644 index 0000000000..0dc878c142 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingNodesMappingJSDocTypes.js.diff @@ -0,0 +1,31 @@ +--- old.jsDeclarationsReusesExistingNodesMappingJSDocTypes.js ++++ new.jsDeclarationsReusesExistingNodesMappingJSDocTypes.js +@@= skipped -49, +49 lines =@@ + + //// [index.d.ts] + /** @type {?} */ +-export const a: unknown; ++export declare const a: | null; + /** @type {*} */ +-export const b: any; ++export declare const b: any; + /** @type {string?} */ +-export const c: string | null; ++export declare const c: string | null; + /** @type {string=} */ +-export const d: string | undefined; ++export declare const d: string | undefined; + /** @type {string!} */ +-export const e: string; ++export declare const e: string; + /** @type {function(string, number): object} */ +-export const f: (arg0: string, arg1: number) => object; ++export declare const f: function; + /** @type {function(new: object, string, number)} */ +-export const g: new (arg1: string, arg2: number) => object; ++export declare const g: function; + /** @type {Object.} */ +-export const h: { +- [x: string]: number; +-}; ++export declare const h: Object; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingTypeAnnotations.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingTypeAnnotations.js new file mode 100644 index 0000000000..7ec2b35672 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingTypeAnnotations.js @@ -0,0 +1,238 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsReusesExistingTypeAnnotations.ts] //// + +//// [index.js] +class С1 { + /** @type {string=} */ + p1 = undefined; + + /** @type {string | undefined} */ + p2 = undefined; + + /** @type {?string} */ + p3 = null; + + /** @type {string | null} */ + p4 = null; +} + +class С2 { + /** @type {string=} */ + get p1() { + return undefined; + } + + /** @type {string | undefined} */ + get p2() { + return undefined; + } + + /** @type {?string} */ + get p3() { + return null; + } + + /** @type {string | null} */ + get p4() { + return null; + } +} + + +class С3 { + /** @type {string=} */ + get p1() { + return undefined; + } + + /** @param {string=} value */ + set p1(value) { + this.p1 = value; + } + + /** @type {string | undefined} */ + get p2() { + return undefined; + } + + /** @param {string | undefined} value */ + set p2(value) { + this.p2 = value; + } + + /** @type {?string} */ + get p3() { + return null; + } + + /** @param {?string} value */ + set p3(value) { + this.p3 = value; + } + + /** @type {string | null} */ + get p4() { + return null; + } + + /** @param {string | null} value */ + set p4(value) { + this.p4 = value; + } +} + + +class С4 { + /** @param {string=} value */ + set p1(value) { + this.p1 = value; + } + + /** @param {string | undefined} value */ + set p2(value) { + this.p2 = value; + } + + /** @param {?string} value */ + set p3(value) { + this.p3 = value; + } + + /** @param {string | null} value */ + set p4(value) { + this.p4 = value; + } +} + + +//// [index.js] +class С1 { + /** @type {string=} */ + p1 = undefined; + /** @type {string | undefined} */ + p2 = undefined; + /** @type {?string} */ + p3 = null; + /** @type {string | null} */ + p4 = null; +} +class С2 { + /** @type {string=} */ + get p1() { + return undefined; + } + /** @type {string | undefined} */ + get p2() { + return undefined; + } + /** @type {?string} */ + get p3() { + return null; + } + /** @type {string | null} */ + get p4() { + return null; + } +} +class С3 { + /** @type {string=} */ + get p1() { + return undefined; + } + /** @param {string=} value */ + set p1(value) { + this.p1 = value; + } + /** @type {string | undefined} */ + get p2() { + return undefined; + } + /** @param {string | undefined} value */ + set p2(value) { + this.p2 = value; + } + /** @type {?string} */ + get p3() { + return null; + } + /** @param {?string} value */ + set p3(value) { + this.p3 = value; + } + /** @type {string | null} */ + get p4() { + return null; + } + /** @param {string | null} value */ + set p4(value) { + this.p4 = value; + } +} +class С4 { + /** @param {string=} value */ + set p1(value) { + this.p1 = value; + } + /** @param {string | undefined} value */ + set p2(value) { + this.p2 = value; + } + /** @param {?string} value */ + set p3(value) { + this.p3 = value; + } + /** @param {string | null} value */ + set p4(value) { + this.p4 = value; + } +} + + +//// [index.d.ts] +declare class С1 { + /** @type {string=} */ + p1: string | undefined; + /** @type {string | undefined} */ + p2: string | undefined; + /** @type {?string} */ + p3: string | null; + /** @type {string | null} */ + p4: string | null; +} +declare class С2 { + /** @type {string=} */ + get p1(): undefined; + /** @type {string | undefined} */ + get p2(): undefined; + /** @type {?string} */ + get p3(): null; + /** @type {string | null} */ + get p4(): null; +} +declare class С3 { + /** @type {string=} */ + get p1(): string | undefined; + /** @param {string=} value */ + set p1(value?: string | undefined); + /** @type {string | undefined} */ + get p2(): string | undefined; + /** @param {string | undefined} value */ + set p2(value: string | undefined); + /** @type {?string} */ + get p3(): string | null; + /** @param {?string} value */ + set p3(value: string | null); + /** @type {string | null} */ + get p4(): string | null; + /** @param {string | null} value */ + set p4(value: string | null); +} +declare class С4 { + /** @param {string=} value */ + set p1(value?: string | undefined); + /** @param {string | undefined} value */ + set p2(value: string | undefined); + /** @param {?string} value */ + set p3(value: string | null); + /** @param {string | null} value */ + set p4(value: string | null); +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingTypeAnnotations.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingTypeAnnotations.js.diff new file mode 100644 index 0000000000..5b0182ef60 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsReusesExistingTypeAnnotations.js.diff @@ -0,0 +1,59 @@ +--- old.jsDeclarationsReusesExistingTypeAnnotations.js ++++ new.jsDeclarationsReusesExistingTypeAnnotations.js +@@= skipped -104, +104 lines =@@ + + + //// [index.js] +-"use strict"; + class С1 { + /** @type {string=} */ + p1 = undefined; +@@= skipped -96, +95 lines =@@ + } + declare class С2 { + /** @type {string=} */ +- get p1(): string | undefined; ++ get p1(): undefined; + /** @type {string | undefined} */ +- get p2(): string | undefined; ++ get p2(): undefined; + /** @type {?string} */ +- get p3(): string | null; ++ get p3(): null; + /** @type {string | null} */ +- get p4(): string | null; ++ get p4(): null; + } + declare class С3 { +- /** @param {string=} value */ +- set p1(value: string | undefined); + /** @type {string=} */ + get p1(): string | undefined; ++ /** @param {string=} value */ ++ set p1(value?: string | undefined); ++ /** @type {string | undefined} */ ++ get p2(): string | undefined; + /** @param {string | undefined} value */ + set p2(value: string | undefined); +- /** @type {string | undefined} */ +- get p2(): string | undefined; ++ /** @type {?string} */ ++ get p3(): string | null; + /** @param {?string} value */ + set p3(value: string | null); +- /** @type {?string} */ +- get p3(): string | null; ++ /** @type {string | null} */ ++ get p4(): string | null; + /** @param {string | null} value */ + set p4(value: string | null); +- /** @type {string | null} */ +- get p4(): string | null; + } + declare class С4 { + /** @param {string=} value */ +- set p1(value: string | undefined); ++ set p1(value?: string | undefined); + /** @param {string | undefined} value */ + set p2(value: string | undefined); + /** @param {?string} value */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js new file mode 100644 index 0000000000..c970c09e3e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js @@ -0,0 +1,48 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.ts] //// + +//// [index.js] +export class Super { + /** + * @param {string} firstArg + * @param {string} secondArg + */ + constructor(firstArg, secondArg) { } +} + +export class Sub extends Super { + constructor() { + super('first', 'second'); + } +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Sub = exports.Super = void 0; +class Super { + /** + * @param {string} firstArg + * @param {string} secondArg + */ + constructor(firstArg, secondArg) { } +} +exports.Super = Super; +class Sub extends Super { + constructor() { + super('first', 'second'); + } +} +exports.Sub = Sub; + + +//// [index.d.ts] +export declare class Super { + /** + * @param {string} firstArg + * @param {string} secondArg + */ + constructor(firstArg: string, secondArg: string); +} +export declare class Sub extends Super { + constructor(); +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js.diff new file mode 100644 index 0000000000..f2516e99a7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js.diff @@ -0,0 +1,18 @@ +--- old.jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js ++++ new.jsDeclarationsSubclassWithExplicitNoArgumentConstructor.js +@@= skipped -35, +35 lines =@@ + + + //// [index.d.ts] +-export class Super { ++export declare class Super { + /** + * @param {string} firstArg + * @param {string} secondArg + */ + constructor(firstArg: string, secondArg: string); + } +-export class Sub extends Super { ++export declare class Sub extends Super { + constructor(); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsThisTypes.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsThisTypes.js new file mode 100644 index 0000000000..5daad6b3f5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsThisTypes.js @@ -0,0 +1,41 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsThisTypes.ts] //// + +//// [index.js] +export class A { + /** @returns {this} */ + method() { + return this; + } +} +export default class Base extends A { + // This method is required to reproduce #35932 + verify() { } +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = void 0; +class A { + /** @returns {this} */ + method() { + return this; + } +} +exports.A = A; +class Base extends A { + // This method is required to reproduce #35932 + verify() { } +} +exports.default = Base; + + +//// [index.d.ts] +export declare class A { + /** @returns {this} */ + method(): this; +} +export default class Base extends A { + // This method is required to reproduce #35932 + verify(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsThisTypes.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsThisTypes.js.diff new file mode 100644 index 0000000000..8af3d92f57 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsThisTypes.js.diff @@ -0,0 +1,15 @@ +--- old.jsDeclarationsThisTypes.js ++++ new.jsDeclarationsThisTypes.js +@@= skipped -30, +30 lines =@@ + + + //// [index.d.ts] +-export class A { ++export declare class A { + /** @returns {this} */ + method(): this; + } + export default class Base extends A { ++ // This method is required to reproduce #35932 + verify(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.js new file mode 100644 index 0000000000..e7534535c7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.js @@ -0,0 +1,150 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeAliases.ts] //// + +//// [index.js] +export {}; // flag file as module +/** + * @typedef {string | number | symbol} PropName + */ + +/** + * Callback + * + * @callback NumberToStringCb + * @param {number} a + * @returns {string} + */ + +/** + * @template T + * @typedef {T & {name: string}} MixinName + */ + +/** + * Identity function + * + * @template T + * @callback Identity + * @param {T} x + * @returns {T} + */ + +//// [mixed.js] +/** + * @typedef {{x: string} | number | LocalThing | ExportedThing} SomeType + */ +/** + * @param {number} x + * @returns {SomeType} + */ +function doTheThing(x) { + return {x: ""+x}; +} +class ExportedThing { + z = "ok" +} +module.exports = { + doTheThing, + ExportedThing, +}; +class LocalThing { + y = "ok" +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {string | number | symbol} PropName + */ +/** + * Callback + * + * @callback NumberToStringCb + * @param {number} a + * @returns {string} + */ +/** + * @template T + * @typedef {T & {name: string}} MixinName + */ +/** + * Identity function + * + * @template T + * @callback Identity + * @param {T} x + * @returns {T} + */ +//// [mixed.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {{x: string} | number | LocalThing | ExportedThing} SomeType + */ +/** + * @param {number} x + * @returns {SomeType} + */ +function doTheThing(x) { + return { x: "" + x }; +} +class ExportedThing { + z = "ok"; +} +module.exports = { + doTheThing, + ExportedThing, +}; +class LocalThing { + y = "ok"; +} + + +//// [index.d.ts] +export {}; // flag file as module +/** + * @typedef {string | number | symbol} PropName + */ +/** + * Callback + * + * @callback NumberToStringCb + * @param {number} a + * @returns {string} + */ +/** + * @template T + * @typedef {T & {name: string}} MixinName + */ +/** + * Identity function + * + * @template T + * @callback Identity + * @param {T} x + * @returns {T} + */ +//// [mixed.d.ts] +export type SomeType = { + x: string; +} | number | LocalThing | ExportedThing; +/** + * @typedef {{x: string} | number | LocalThing | ExportedThing} SomeType + */ +/** + * @param {number} x + * @returns {SomeType} + */ +declare function doTheThing(x: number): SomeType; +declare class ExportedThing { + z: string; +} +declare const _default: { + doTheThing: typeof doTheThing; + ExportedThing: typeof ExportedThing; +}; +export = _default; +declare class LocalThing { + y: string; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.js.diff new file mode 100644 index 0000000000..76e1142926 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeAliases.js.diff @@ -0,0 +1,85 @@ +--- old.jsDeclarationsTypeAliases.js ++++ new.jsDeclarationsTypeAliases.js +@@= skipped -76, +76 lines =@@ + * @returns {T} + */ + //// [mixed.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {{x: string} | number | LocalThing | ExportedThing} SomeType + */ +@@= skipped -11, +13 lines =@@ + return { x: "" + x }; + } + class ExportedThing { +- constructor() { +- this.z = "ok"; +- } ++ z = "ok"; + } + module.exports = { + doTheThing, + ExportedThing, + }; + class LocalThing { +- constructor() { +- this.y = "ok"; +- } ++ y = "ok"; + } + + + //// [index.d.ts] +-export type PropName = string | number | symbol; ++export {}; // flag file as module ++/** ++ * @typedef {string | number | symbol} PropName ++ */ + /** + * Callback +- */ +-export type NumberToStringCb = (a: number) => string; +-export type MixinName = T & { +- name: string; +-}; ++ * ++ * @callback NumberToStringCb ++ * @param {number} a ++ * @returns {string} ++ */ ++/** ++ * @template T ++ * @typedef {T & {name: string}} MixinName ++ */ + /** + * Identity function ++ * ++ * @template T ++ * @callback Identity ++ * @param {T} x ++ * @returns {T} + */ +-export type Identity = (x: T) => T; + //// [mixed.d.ts] + export type SomeType = { + x: string; +@@= skipped -39, +46 lines =@@ + * @param {number} x + * @returns {SomeType} + */ +-export function doTheThing(x: number): SomeType; +-export class ExportedThing { ++declare function doTheThing(x: number): SomeType; ++declare class ExportedThing { + z: string; + } ++declare const _default: { ++ doTheThing: typeof doTheThing; ++ ExportedThing: typeof ExportedThing; ++}; ++export = _default; + declare class LocalThing { + y: string; + } +-export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.js new file mode 100644 index 0000000000..be70025cd8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.js @@ -0,0 +1,41 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeReassignmentFromDeclaration.ts] //// + +//// [some-mod.d.ts] +interface Item { + x: string; +} +declare const items: Item[]; +export = items; +//// [index.js] +/** @type {typeof import("/some-mod")} */ +const items = []; +module.exports = items; + +//// [index.js] +/** @type {typeof import("/some-mod")} */ +const items = []; +export = items; +module.exports = items; + + +//// [index.d.ts] +export = items; + + +//// [DtsFileErrors] + + +/out/index.d.ts(1,10): error TS2304: Cannot find name 'items'. + + +==== /some-mod.d.ts (0 errors) ==== + interface Item { + x: string; + } + declare const items: Item[]; + export = items; +==== /out/index.d.ts (1 errors) ==== + export = items; + ~~~~~ +!!! error TS2304: Cannot find name 'items'. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.js.diff new file mode 100644 index 0000000000..046f34d1e2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration.js.diff @@ -0,0 +1,33 @@ +--- old.jsDeclarationsTypeReassignmentFromDeclaration.js ++++ new.jsDeclarationsTypeReassignmentFromDeclaration.js +@@= skipped -13, +13 lines =@@ + //// [index.js] + /** @type {typeof import("/some-mod")} */ + const items = []; ++export = items; + module.exports = items; + + + //// [index.d.ts] + export = items; +-/** @type {typeof import("/some-mod")} */ +-declare const items: typeof import("/some-mod"); ++ ++ ++//// [DtsFileErrors] ++ ++ ++/out/index.d.ts(1,10): error TS2304: Cannot find name 'items'. ++ ++ ++==== /some-mod.d.ts (0 errors) ==== ++ interface Item { ++ x: string; ++ } ++ declare const items: Item[]; ++ export = items; ++==== /out/index.d.ts (1 errors) ==== ++ export = items; ++ ~~~~~ ++!!! error TS2304: Cannot find name 'items'. ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.js new file mode 100644 index 0000000000..79172817f0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.js @@ -0,0 +1,39 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeReassignmentFromDeclaration2.ts] //// + +//// [some-mod.d.ts] +interface Item { + x: string; +} +declare function getItems(): Item[]; +export = getItems; +//// [index.js] +const items = require("./some-mod")(); +module.exports = items; + +//// [index.js] +const items = require("./some-mod")(); +export = items; +module.exports = items; + + +//// [index.d.ts] +export = items; + + +//// [DtsFileErrors] + + +out/index.d.ts(1,10): error TS2304: Cannot find name 'items'. + + +==== out/index.d.ts (1 errors) ==== + export = items; + ~~~~~ +!!! error TS2304: Cannot find name 'items'. + +==== some-mod.d.ts (0 errors) ==== + interface Item { + x: string; + } + declare function getItems(): Item[]; + export = getItems; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.js.diff new file mode 100644 index 0000000000..95d5a41e60 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReassignmentFromDeclaration2.js.diff @@ -0,0 +1,31 @@ +--- old.jsDeclarationsTypeReassignmentFromDeclaration2.js ++++ new.jsDeclarationsTypeReassignmentFromDeclaration2.js +@@= skipped -11, +11 lines =@@ + + //// [index.js] + const items = require("./some-mod")(); ++export = items; + module.exports = items; ++ ++ ++//// [index.d.ts] ++export = items; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/index.d.ts(1,10): error TS2304: Cannot find name 'items'. ++ ++ ++==== out/index.d.ts (1 errors) ==== ++ export = items; ++ ~~~~~ ++!!! error TS2304: Cannot find name 'items'. ++ ++==== some-mod.d.ts (0 errors) ==== ++ interface Item { ++ x: string; ++ } ++ declare function getItems(): Item[]; ++ export = getItems; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences.js new file mode 100644 index 0000000000..11cd4da35d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeReferences.ts] //// + +//// [index.d.ts] +declare module "fs" { + export class Something {} +} +//// [index.js] +/// + +const Something = require("fs").Something; + +const thing = new Something(); + +module.exports = { + thing +}; + + +//// [index.js] +/// +const Something = require("fs").Something; +const thing = new Something(); +module.exports = { + thing +}; + + +//// [index.d.ts] +declare const _default: { + thing: import("fs").Something; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences.js.diff new file mode 100644 index 0000000000..4286a69c72 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences.js.diff @@ -0,0 +1,13 @@ +--- old.jsDeclarationsTypeReferences.js ++++ new.jsDeclarationsTypeReferences.js +@@= skipped -25, +25 lines =@@ + + + //// [index.d.ts] +-export const thing: Something; +-import Something_1 = require("fs"); +-import Something = Something_1.Something; ++declare const _default: { ++ thing: import("fs").Something; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2.js new file mode 100644 index 0000000000..dbc4e83597 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2.js @@ -0,0 +1,44 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeReferences2.ts] //// + +//// [something.ts] +export const o = { + a: 1, + m: 1 +} + +//// [index.js] +const{ a, m } = require("./something").o; + +const thing = a + m + +module.exports = { + thing +}; + + +//// [something.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.o = void 0; +exports.o = { + a: 1, + m: 1 +}; +//// [index.js] +const { a, m } = require("./something").o; +const thing = a + m; +module.exports = { + thing +}; + + +//// [something.d.ts] +export declare const o: { + a: number; + m: number; +}; +//// [index.d.ts] +declare const _default: { + thing: number; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2.js.diff new file mode 100644 index 0000000000..9631326132 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences2.js.diff @@ -0,0 +1,11 @@ +--- old.jsDeclarationsTypeReferences2.js ++++ new.jsDeclarationsTypeReferences2.js +@@= skipped -37, +37 lines =@@ + m: number; + }; + //// [index.d.ts] +-export const thing: number; ++declare const _default: { ++ thing: number; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js new file mode 100644 index 0000000000..1dca157bd6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js @@ -0,0 +1,31 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeReferences3.ts] //// + +//// [index.d.ts] +declare module "fs" { + export class Something {} +} +//// [index.js] +/// + +const Something = require("fs").Something; +module.exports.A = {} +module.exports.A.B = { + thing: new Something() +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/// +const Something = require("fs").Something; +export var A = {}; +module.exports.A = {}; +module.exports.A.B = { + thing: new Something() +}; + + +//// [index.d.ts] +export var A = {}; +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff new file mode 100644 index 0000000000..bfcbf6de4d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences3.js.diff @@ -0,0 +1,27 @@ +--- old.jsDeclarationsTypeReferences3.js ++++ new.jsDeclarationsTypeReferences3.js +@@= skipped -14, +14 lines =@@ + + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /// + const Something = require("fs").Something; ++export var A = {}; + module.exports.A = {}; + module.exports.A.B = { + thing: new Something() +@@= skipped -9, +12 lines =@@ + + + //// [index.d.ts] +-export namespace A { +- namespace B { +- let thing: Something; +- } +-} +-import Something_1 = require("fs"); +-import Something = Something_1.Something; ++export var A = {}; ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences4.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences4.js new file mode 100644 index 0000000000..34bea92be3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences4.js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypeReferences4.ts] //// + +//// [index.d.ts] +declare module "fs" { + export class Something {} +} +//// [index.js] +/// +export const Something = 2; // to show conflict that can occur +// @ts-ignore +export namespace A { + // @ts-ignore + export namespace B { + const Something = require("fs").Something; + const thing = new Something(); + // @ts-ignore + export { thing }; + } +} + + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.A = exports.Something = void 0; +/// +exports.Something = 2; // to show conflict that can occur +// @ts-ignore +var A; +(function (A) { + // @ts-ignore + let B; + (function (B) { + const Something = require("fs").Something; + const thing = new Something(); + // @ts-ignore + export { thing }; + })(B = A.B || (A.B = {})); +})(A || (exports.A = A = {})); + + +//// [index.d.ts] +export declare const Something = 2; // to show conflict that can occur +// @ts-ignore +export declare namespace A { + // @ts-ignore + namespace B { + const thing: import("fs").Something; + // @ts-ignore + export { thing }; + } +} diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences4.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences4.js.diff new file mode 100644 index 0000000000..fd01fa66b5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypeReferences4.js.diff @@ -0,0 +1,26 @@ +--- old.jsDeclarationsTypeReferences4.js ++++ new.jsDeclarationsTypeReferences4.js +@@= skipped -32, +32 lines =@@ + (function (B) { + const Something = require("fs").Something; + const thing = new Something(); ++ // @ts-ignore ++ export { thing }; + })(B = A.B || (A.B = {})); + })(A || (exports.A = A = {})); + + + //// [index.d.ts] +-export const Something: 2; +-export namespace A { ++export declare const Something = 2; // to show conflict that can occur ++// @ts-ignore ++export declare namespace A { ++ // @ts-ignore + namespace B { ++ const thing: import("fs").Something; ++ // @ts-ignore + export { thing }; +- export let thing: import("fs").Something; + } + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js new file mode 100644 index 0000000000..4d67274d17 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js @@ -0,0 +1,88 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypedefAndImportTypes.ts] //// + +//// [conn.js] +/** + * @typedef {string | number} Whatever + */ + +class Conn { + constructor() {} + item = 3; + method() {} +} + +module.exports = Conn; + +//// [usage.js] +/** + * @typedef {import("./conn")} Conn + */ + +class Wrap { + /** + * @param {Conn} c + */ + constructor(c) { + this.connItem = c.item; + /** @type {import("./conn").Whatever} */ + this.another = ""; + } +} + +module.exports = { + Wrap +}; + + +//// [conn.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {string | number} Whatever + */ +class Conn { + constructor() { } + item = 3; + method() { } +} +export = Conn; +module.exports = Conn; +//// [usage.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {import("./conn")} Conn + */ +class Wrap { + /** + * @param {Conn} c + */ + constructor(c) { + this.connItem = c.item; + /** @type {import("./conn").Whatever} */ + this.another = ""; + } +} +module.exports = { + Wrap +}; + + +//// [conn.d.ts] +export type Whatever = string | number; +export = Conn; +//// [usage.d.ts] +export type Conn = import("./conn"); +/** + * @typedef {import("./conn")} Conn + */ +declare class Wrap { + /** + * @param {Conn} c + */ + constructor(c: Conn); +} +declare const _default: { + Wrap: typeof Wrap; +}; +export = _default; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff new file mode 100644 index 0000000000..e597ed2ed7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefAndImportTypes.js.diff @@ -0,0 +1,63 @@ +--- old.jsDeclarationsTypedefAndImportTypes.js ++++ new.jsDeclarationsTypedefAndImportTypes.js +@@= skipped -34, +34 lines =@@ + + + //// [conn.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {string | number} Whatever + */ + class Conn { +- constructor() { +- this.item = 3; +- } ++ constructor() { } ++ item = 3; + method() { } + } ++export = Conn; + module.exports = Conn; + //// [usage.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {import("./conn")} Conn + */ +@@= skipped -30, +34 lines =@@ + + + //// [conn.d.ts] ++export type Whatever = string | number; + export = Conn; +-/** +- * @typedef {string | number} Whatever +- */ +-declare class Conn { +- item: number; +- method(): void; +-} +-declare namespace Conn { +- export { Whatever }; +-} +-type Whatever = string | number; + //// [usage.d.ts] + export type Conn = import("./conn"); + /** + * @typedef {import("./conn")} Conn + */ +-export class Wrap { ++declare class Wrap { + /** + * @param {Conn} c + */ + constructor(c: Conn); +- connItem: number; +- /** @type {import("./conn").Whatever} */ +- another: import("./conn").Whatever; + } ++declare const _default: { ++ Wrap: typeof Wrap; ++}; ++export = _default; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js new file mode 100644 index 0000000000..8758dc31c0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypedefDescriptionsPreserved.ts] //// + +//// [index.js] +/** + * Options for Foo <------------ + * @typedef {Object} FooOptions + * @property {boolean} bar - Marvin K Mooney + * @property {string} baz - Sylvester McMonkey McBean + */ + +/** + * Multiline + * Options + * for Foo <------------ + * @typedef {Object} BarOptions + * @property {boolean} bar - Marvin K Mooney + * @property {string} baz - Sylvester McMonkey McBean + */ + + +//// [index.js] +/** + * Options for Foo <------------ + * @typedef {Object} FooOptions + * @property {boolean} bar - Marvin K Mooney + * @property {string} baz - Sylvester McMonkey McBean + */ +/** + * Multiline + * Options + * for Foo <------------ + * @typedef {Object} BarOptions + * @property {boolean} bar - Marvin K Mooney + * @property {string} baz - Sylvester McMonkey McBean + */ + + +//// [index.d.ts] +/** + * Options for Foo <------------ + * @typedef {Object} FooOptions + * @property {boolean} bar - Marvin K Mooney + * @property {string} baz - Sylvester McMonkey McBean + */ +/** + * Multiline + * Options + * for Foo <------------ + * @typedef {Object} BarOptions + * @property {boolean} bar - Marvin K Mooney + * @property {string} baz - Sylvester McMonkey McBean + */ diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff new file mode 100644 index 0000000000..71c8b863ff --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefDescriptionsPreserved.js.diff @@ -0,0 +1,38 @@ +--- old.jsDeclarationsTypedefDescriptionsPreserved.js ++++ new.jsDeclarationsTypedefDescriptionsPreserved.js +@@= skipped -37, +37 lines =@@ + //// [index.d.ts] + /** + * Options for Foo <------------ ++ * @typedef {Object} FooOptions ++ * @property {boolean} bar - Marvin K Mooney ++ * @property {string} baz - Sylvester McMonkey McBean + */ +-type FooOptions = { +- /** +- * - Marvin K Mooney +- */ +- bar: boolean; +- /** +- * - Sylvester McMonkey McBean +- */ +- baz: string; +-}; + /** + * Multiline + * Options + * for Foo <------------ ++ * @typedef {Object} BarOptions ++ * @property {boolean} bar - Marvin K Mooney ++ * @property {string} baz - Sylvester McMonkey McBean + */ +-type BarOptions = { +- /** +- * - Marvin K Mooney +- */ +- bar: boolean; +- /** +- * - Sylvester McMonkey McBean +- */ +- baz: string; +-}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js new file mode 100644 index 0000000000..6dadf18074 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js @@ -0,0 +1,40 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypedefFunction.ts] //// + +//// [foo.js] +/** + * @typedef {{ + * [id: string]: [Function, Function]; + * }} ResolveRejectMap + */ + +let id = 0 + +/** + * @param {ResolveRejectMap} handlers + * @returns {Promise} + */ +const send = handlers => new Promise((resolve, reject) => { + handlers[++id] = [resolve, reject] +}) + +//// [foo.js] +/** + * @typedef {{ + * [id: string]: [Function, Function]; + * }} ResolveRejectMap + */ +let id = 0; +/** + * @param {ResolveRejectMap} handlers + * @returns {Promise} + */ +const send = handlers => new Promise((resolve, reject) => { + handlers[++id] = [resolve, reject]; +}); +export {}; + + +//// [foo.d.ts] +export type ResolveRejectMap = { + [id: string]: [Function, Function]; +}; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff new file mode 100644 index 0000000000..7d399535fc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefFunction.js.diff @@ -0,0 +1,25 @@ +--- old.jsDeclarationsTypedefFunction.js ++++ new.jsDeclarationsTypedefFunction.js +@@= skipped -30, +30 lines =@@ + const send = handlers => new Promise((resolve, reject) => { + handlers[++id] = [resolve, reject]; + }); ++export {}; + + + //// [foo.d.ts] +-/** +- * @typedef {{ +- * [id: string]: [Function, Function]; +- * }} ResolveRejectMap +- */ +-declare let id: number; +-/** +- * @param {ResolveRejectMap} handlers +- * @returns {Promise} +- */ +-declare function send(handlers: ResolveRejectMap): Promise; +-type ResolveRejectMap = { ++export type ResolveRejectMap = { + [id: string]: [Function, Function]; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js new file mode 100644 index 0000000000..3bef7dea8d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js @@ -0,0 +1,140 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsTypedefPropertyAndExportAssignment.ts] //// + +//// [module.js] +/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */ + +/** + * @typedef TaskGroup + * @property {TaskGroupIds} id + * @property {string} label + * @property {string[]} traceEventNames + */ + +/** + * @type {{[P in TaskGroupIds]: {id: P, label: string}}} + */ +const taskGroups = { + parseHTML: { + id: 'parseHTML', + label: 'Parse HTML & CSS' + }, + styleLayout: { + id: 'styleLayout', + label: 'Style & Layout' + }, +} + +/** @type {Object} */ +const taskNameToGroup = {}; + +module.exports = { + taskGroups, + taskNameToGroup, +}; +//// [index.js] +const {taskGroups, taskNameToGroup} = require('./module.js'); + +/** @typedef {import('./module.js').TaskGroup} TaskGroup */ + +/** + * @typedef TaskNode + * @prop {TaskNode[]} children + * @prop {TaskNode|undefined} parent + * @prop {TaskGroup} group + */ + +/** @typedef {{timers: Map}} PriorTaskData */ +class MainThreadTasks { + /** + * @param {TaskGroup} x + * @param {TaskNode} y + */ + constructor(x, y){} +} + +module.exports = MainThreadTasks; + +//// [module.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */ +/** + * @typedef TaskGroup + * @property {TaskGroupIds} id + * @property {string} label + * @property {string[]} traceEventNames + */ +/** + * @type {{[P in TaskGroupIds]: {id: P, label: string}}} + */ +const taskGroups = { + parseHTML: { + id: 'parseHTML', + label: 'Parse HTML & CSS' + }, + styleLayout: { + id: 'styleLayout', + label: 'Style & Layout' + }, +}; +/** @type {Object} */ +const taskNameToGroup = {}; +module.exports = { + taskGroups, + taskNameToGroup, +}; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const { taskGroups, taskNameToGroup } = require('./module.js'); +/** @typedef {import('./module.js').TaskGroup} TaskGroup */ +/** + * @typedef TaskNode + * @prop {TaskNode[]} children + * @prop {TaskNode|undefined} parent + * @prop {TaskGroup} group + */ +/** @typedef {{timers: Map}} PriorTaskData */ +class MainThreadTasks { + /** + * @param {TaskGroup} x + * @param {TaskNode} y + */ + constructor(x, y) { } +} +export = MainThreadTasks; +module.exports = MainThreadTasks; + + +//// [module.d.ts] +export type TaskGroupIds = 'parseHTML' | 'styleLayout'; +export type TaskGroup = { + id: TaskGroupIds; + label: string; + traceEventNames: string[]; +}; +declare const _default: { + taskGroups: { + parseHTML: { + id: "parseHTML"; + label: string; + }; + styleLayout: { + id: "styleLayout"; + label: string; + }; + }; + taskNameToGroup: any; +}; +export = _default; +//// [index.d.ts] +export type TaskGroup = import('./module.js').TaskGroup; +export type TaskNode = { + children: TaskNode[]; + parent: TaskNode | undefined; + group: TaskGroup; +}; +export type PriorTaskData = { + timers: Map; +}; +export = MainThreadTasks; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff new file mode 100644 index 0000000000..014dd8fd76 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsTypedefPropertyAndExportAssignment.js.diff @@ -0,0 +1,100 @@ +--- old.jsDeclarationsTypedefPropertyAndExportAssignment.js ++++ new.jsDeclarationsTypedefPropertyAndExportAssignment.js +@@= skipped -54, +54 lines =@@ + module.exports = MainThreadTasks; + + //// [module.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */ + /** + * @typedef TaskGroup +@@= skipped -27, +29 lines =@@ + taskNameToGroup, + }; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const { taskGroups, taskNameToGroup } = require('./module.js'); + /** @typedef {import('./module.js').TaskGroup} TaskGroup */ + /** +@@= skipped -16, +18 lines =@@ + */ + constructor(x, y) { } + } ++export = MainThreadTasks; + module.exports = MainThreadTasks; + + + //// [module.d.ts] +-export type TaskGroupIds = "parseHTML" | "styleLayout"; ++export type TaskGroupIds = 'parseHTML' | 'styleLayout'; + export type TaskGroup = { + id: TaskGroupIds; + label: string; + traceEventNames: string[]; + }; +-/** @typedef {'parseHTML'|'styleLayout'} TaskGroupIds */ +-/** +- * @typedef TaskGroup +- * @property {TaskGroupIds} id +- * @property {string} label +- * @property {string[]} traceEventNames +- */ +-/** +- * @type {{[P in TaskGroupIds]: {id: P, label: string}}} +- */ +-export const taskGroups: { [P in TaskGroupIds]: { +- id: P; +- label: string; +-}; }; +-/** @type {Object} */ +-export const taskNameToGroup: { +- [x: string]: TaskGroup; ++declare const _default: { ++ taskGroups: { ++ parseHTML: { ++ id: "parseHTML"; ++ label: string; ++ }; ++ styleLayout: { ++ id: "styleLayout"; ++ label: string; ++ }; ++ }; ++ taskNameToGroup: any; + }; ++export = _default; + //// [index.d.ts] +-export = MainThreadTasks; +-/** @typedef {import('./module.js').TaskGroup} TaskGroup */ +-/** +- * @typedef TaskNode +- * @prop {TaskNode[]} children +- * @prop {TaskNode|undefined} parent +- * @prop {TaskGroup} group +- */ +-/** @typedef {{timers: Map}} PriorTaskData */ +-declare class MainThreadTasks { +- /** +- * @param {TaskGroup} x +- * @param {TaskNode} y +- */ +- constructor(x: TaskGroup, y: TaskNode); +-} +-declare namespace MainThreadTasks { +- export { TaskGroup, TaskNode, PriorTaskData }; +-} +-type TaskGroup = import("./module.js").TaskGroup; +-type TaskNode = { ++export type TaskGroup = import('./module.js').TaskGroup; ++export type TaskNode = { + children: TaskNode[]; + parent: TaskNode | undefined; + group: TaskGroup; + }; +-type PriorTaskData = { ++export type PriorTaskData = { + timers: Map; + }; ++export = MainThreadTasks; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsUniqueSymbolUsage.js b/testdata/baselines/reference/submodule/conformance/jsDeclarationsUniqueSymbolUsage.js new file mode 100644 index 0000000000..5030d6b149 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsUniqueSymbolUsage.js @@ -0,0 +1,31 @@ +//// [tests/cases/conformance/jsdoc/declarations/jsDeclarationsUniqueSymbolUsage.ts] //// + +//// [a.js] +export const kSymbol = Symbol("my-symbol"); + +/** + * @typedef {{[kSymbol]: true}} WithSymbol + */ +//// [b.js] +/** + * @returns {import('./a').WithSymbol} + * @param {import('./a').WithSymbol} value + */ +export function b(value) { + return value; +} + + + + +//// [a.d.ts] +export declare const kSymbol: unique symbol; +/** + * @typedef {{[kSymbol]: true}} WithSymbol + */ +//// [b.d.ts] +/** + * @returns {import('./a').WithSymbol} + * @param {import('./a').WithSymbol} value + */ +export declare function b(value: import('./a').WithSymbol): import('./a').WithSymbol; diff --git a/testdata/baselines/reference/submodule/conformance/jsDeclarationsUniqueSymbolUsage.js.diff b/testdata/baselines/reference/submodule/conformance/jsDeclarationsUniqueSymbolUsage.js.diff new file mode 100644 index 0000000000..ef2dce4689 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsDeclarationsUniqueSymbolUsage.js.diff @@ -0,0 +1,21 @@ +--- old.jsDeclarationsUniqueSymbolUsage.js ++++ new.jsDeclarationsUniqueSymbolUsage.js +@@= skipped -18, +18 lines =@@ + + + //// [a.d.ts] +-export const kSymbol: unique symbol; +-export type WithSymbol = { +- [kSymbol]: true; +-}; ++export declare const kSymbol: unique symbol; ++/** ++ * @typedef {{[kSymbol]: true}} WithSymbol ++ */ + //// [b.d.ts] + /** + * @returns {import('./a').WithSymbol} + * @param {import('./a').WithSymbol} value + */ +-export function b(value: import("./a").WithSymbol): import("./a").WithSymbol; ++export declare function b(value: import('./a').WithSymbol): import('./a').WithSymbol; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocCatchClauseWithTypeAnnotation.js b/testdata/baselines/reference/submodule/conformance/jsdocCatchClauseWithTypeAnnotation.js new file mode 100644 index 0000000000..ca7bbd01ea --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocCatchClauseWithTypeAnnotation.js @@ -0,0 +1,147 @@ +//// [tests/cases/conformance/jsdoc/jsdocCatchClauseWithTypeAnnotation.ts] //// + +//// [foo.js] +/** + * @typedef {any} Any + */ + +/** + * @typedef {unknown} Unknown + */ + +function fn() { + try { } catch (x) { } // should be OK + try { } catch (/** @type {any} */ err) { } // should be OK + try { } catch (/** @type {Any} */ err) { } // should be OK + try { } catch (/** @type {unknown} */ err) { } // should be OK + try { } catch (/** @type {Unknown} */ err) { } // should be OK + try { } catch (err) { err.foo; } // should be OK + try { } catch (/** @type {any} */ err) { err.foo; } // should be OK + try { } catch (/** @type {Any} */ err) { err.foo; } // should be OK + try { } catch (/** @type {unknown} */ err) { console.log(err); } // should be OK + try { } catch (/** @type {Unknown} */ err) { console.log(err); } // should be OK + try { } catch (/** @type {unknown} */ err) { err.foo; } // error in the body + try { } catch (/** @type {Unknown} */ err) { err.foo; } // error in the body + try { } catch (/** @type {Error} */ err) { } // error in the type + try { } catch (/** @type {object} */ err) { } // error in the type + + try { console.log(); } + // @ts-ignore + catch (/** @type {number} */ err) { // e should not be a `number` + console.log(err.toLowerCase()); + } + + // minor bug: shows that the `catch` argument is skipped when checking scope + try { } + catch (err) { + /** @type {string} */ + let err; + } + try { } + catch (err) { + /** @type {boolean} */ + var err; + } + + try { } catch ({ x }) { } // should be OK + try { } catch (/** @type {any} */ { x }) { x.foo; } // should be OK + try { } catch (/** @type {Any} */ { x }) { x.foo;} // should be OK + try { } catch (/** @type {unknown} */ { x }) { console.log(x); } // error in the destructure + try { } catch (/** @type {Unknown} */ { x }) { console.log(x); } // error in the destructure + try { } catch (/** @type {Error} */ { x }) { } // error in the type + try { } catch (/** @type {object} */ { x }) { } // error in the type +} + + +//// [foo.js] +/** + * @typedef {any} Any + */ +/** + * @typedef {unknown} Unknown + */ +function fn() { + try { } + catch (x) { } // should be OK + try { } + catch ( /** @type {any} */err) { } // should be OK + try { } + catch ( /** @type {Any} */err) { } // should be OK + try { } + catch ( /** @type {unknown} */err) { } // should be OK + try { } + catch ( /** @type {Unknown} */err) { } // should be OK + try { } + catch (err) { + err.foo; + } // should be OK + try { } + catch ( /** @type {any} */err) { + err.foo; + } // should be OK + try { } + catch ( /** @type {Any} */err) { + err.foo; + } // should be OK + try { } + catch ( /** @type {unknown} */err) { + console.log(err); + } // should be OK + try { } + catch ( /** @type {Unknown} */err) { + console.log(err); + } // should be OK + try { } + catch ( /** @type {unknown} */err) { + err.foo; + } // error in the body + try { } + catch ( /** @type {Unknown} */err) { + err.foo; + } // error in the body + try { } + catch ( /** @type {Error} */err) { } // error in the type + try { } + catch ( /** @type {object} */err) { } // error in the type + try { + console.log(); + } + // @ts-ignore + catch ( /** @type {number} */err) { // e should not be a `number` + console.log(err.toLowerCase()); + } + // minor bug: shows that the `catch` argument is skipped when checking scope + try { } + catch (err) { + /** @type {string} */ + let err; + } + try { } + catch (err) { + /** @type {boolean} */ + var err; + } + try { } + catch ({ x }) { } // should be OK + try { } + catch ( /** @type {any} */{ x }) { + x.foo; + } // should be OK + try { } + catch ( /** @type {Any} */{ x }) { + x.foo; + } // should be OK + try { } + catch ( /** @type {unknown} */{ x }) { + console.log(x); + } // error in the destructure + try { } + catch ( /** @type {Unknown} */{ x }) { + console.log(x); + } // error in the destructure + try { } + catch ( /** @type {Error} */{ x }) { } // error in the type + try { } + catch ( /** @type {object} */{ x }) { } // error in the type +} +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocCatchClauseWithTypeAnnotation.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocCatchClauseWithTypeAnnotation.js.diff new file mode 100644 index 0000000000..6411706b8a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocCatchClauseWithTypeAnnotation.js.diff @@ -0,0 +1,7 @@ +--- old.jsdocCatchClauseWithTypeAnnotation.js ++++ new.jsdocCatchClauseWithTypeAnnotation.js +@@= skipped -143, +143 lines =@@ + try { } + catch ( /** @type {object} */{ x }) { } // error in the type + } ++export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_class.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_class.js new file mode 100644 index 0000000000..83f4b967b4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_class.js @@ -0,0 +1,108 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_class.ts] //// + +//// [a.js] +class A { + /** @return {number} */ + method() { throw new Error(); } +} +/** @implements {A} */ +class B { + method() { return 0 } +} + +/** @implements A */ +class B2 { + /** @return {string} */ + method() { return "" } +} + +/** @implements {A} */ +class B3 { +} + + +var Ns = {}; +/** @implements {A} */ +Ns.C1 = class { + method() { return 11; } +} +/** @implements {A} */ +var C2 = class { + method() { return 12; } +} +var o = { + /** @implements {A} */ + C3: class { + method() { return 13; } + } +} +class CC { + /** @implements {A} */ + C4 = class { + method() { + return 14; + } + } +} + +var C5; +/** @implements {A} */ +Ns.C5 = C5 || class { + method() { + return 15; + } +} + + + + +//// [a.d.ts] +declare class A { + /** @return {number} */ + method(): number; +} +/** @implements {A} */ +declare class B implements A { + method(): number; +} +/** @implements A */ +declare class B2 implements A { + /** @return {string} */ + method(): string; +} +/** @implements {A} */ +declare class B3 implements A { +} +declare var Ns: { + /** @implements {A} */ + C1: { + new (): { + method(): number; + }; + }; + /** @implements {A} */ + C5: any; +}; +/** @implements {A} */ +declare var C2: { + new (): { + method(): number; + }; +}; +declare var o: { + /** @implements {A} */ + C3: { + new (): { + method(): number; + }; + }; +}; +declare class CC { + /** @implements {A} */ + C4: { + new (): { + method(): number; + }; + }; +} +declare var C5: any; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_class.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocImplements_class.js.diff new file mode 100644 index 0000000000..97a55138f3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_class.js.diff @@ -0,0 +1,50 @@ +--- old.jsdocImplements_class.js ++++ new.jsdocImplements_class.js +@@= skipped -72, +72 lines =@@ + /** @implements {A} */ + declare class B3 implements A { + } +-declare namespace Ns { +- export { C1 }; +- export let C5: { ++declare var Ns: { ++ /** @implements {A} */ ++ C1: { + new (): { + method(): number; + }; + }; +-} ++ /** @implements {A} */ ++ C5: any; ++}; + /** @implements {A} */ + declare var C2: { + new (): { + method(): number; + }; + }; +-declare namespace o { +- export { C3 }; +-} ++declare var o: { ++ /** @implements {A} */ ++ C3: { ++ new (): { ++ method(): number; ++ }; ++ }; ++}; + declare class CC { + /** @implements {A} */ + C4: { +@@= skipped -26, +33 lines =@@ + }; + } + declare var C5: any; +-declare class C1 implements A { +- method(): number; +-} +-declare class C3 implements A { +- method(): number; +-} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_interface.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_interface.js new file mode 100644 index 0000000000..0588f3a2a9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_interface.js @@ -0,0 +1,38 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_interface.ts] //// + +//// [defs.d.ts] +interface A { + mNumber(): number; +} +//// [a.js] +/** @implements A */ +class B { + mNumber() { + return 0; + } +} +/** @implements {A} */ +class B2 { + mNumber() { + return ""; + } +} +/** @implements A */ +class B3 { +} + + + + +//// [a.d.ts] +/** @implements A */ +declare class B implements A { + mNumber(): number; +} +/** @implements {A} */ +declare class B2 implements A { + mNumber(): string; +} +/** @implements A */ +declare class B3 implements A { +} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_interface_multiple.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_interface_multiple.js new file mode 100644 index 0000000000..4ea9497f2b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_interface_multiple.js @@ -0,0 +1,50 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_interface_multiple.ts] //// + +//// [defs.d.ts] +interface Drawable { + draw(): number; +} +interface Sizable { + size(): number; +} +//// [a.js] +/** + * @implements {Drawable} + * @implements Sizable + **/ +class Square { + draw() { + return 0; + } + size() { + return 0; + } +} +/** + * @implements Drawable + * @implements {Sizable} + **/ +class BadSquare { + size() { + return 0; + } +} + + + +//// [a.d.ts] +/** + * @implements {Drawable} + * @implements Sizable + **/ +declare class Square implements Drawable, Sizable { + draw(): number; + size(): number; +} +/** + * @implements Drawable + * @implements {Sizable} + **/ +declare class BadSquare implements Drawable, Sizable { + size(): number; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_missingType.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_missingType.js new file mode 100644 index 0000000000..0d5243e60c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_missingType.js @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_missingType.ts] //// + +//// [a.js] +class A { constructor() { this.x = 0; } } +/** @implements */ +class B { +} + + + + +//// [a.d.ts] +declare class A { + constructor(); +} +/** @implements */ +declare class B implements { +} + + +//// [DtsFileErrors] + + +out/a.d.ts(5,27): error TS1097: 'implements' list cannot be empty. + + +==== out/a.d.ts (1 errors) ==== + declare class A { + constructor(); + } + /** @implements */ + declare class B implements { + +!!! error TS1097: 'implements' list cannot be empty. + } + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_missingType.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocImplements_missingType.js.diff new file mode 100644 index 0000000000..643e190e6e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_missingType.js.diff @@ -0,0 +1,31 @@ +--- old.jsdocImplements_missingType.js ++++ new.jsdocImplements_missingType.js +@@= skipped -10, +10 lines =@@ + + //// [a.d.ts] + declare class A { +- x: number; ++ constructor(); + } + /** @implements */ +-declare class B { ++declare class B implements { + } ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/a.d.ts(5,27): error TS1097: 'implements' list cannot be empty. ++ ++ ++==== out/a.d.ts (1 errors) ==== ++ declare class A { ++ constructor(); ++ } ++ /** @implements */ ++ declare class B implements { ++ ++!!! error TS1097: 'implements' list cannot be empty. ++ } ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_namespacedInterface.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_namespacedInterface.js new file mode 100644 index 0000000000..4a3e1ddf4e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_namespacedInterface.js @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_namespacedInterface.ts] //// + +//// [defs.d.ts] +declare namespace N { + interface A { + mNumber(): number; + } + interface AT { + gen(): T; + } +} +//// [a.js] +/** @implements N.A */ +class B { + mNumber() { + return 0; + } +} +/** @implements {N.AT} */ +class BAT { + gen() { + return ""; + } +} + + + + +//// [a.d.ts] +/** @implements N.A */ +declare class B implements N.A { + mNumber(): number; +} +/** @implements {N.AT} */ +declare class BAT implements N.AT { + gen(): string; +} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_properties.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_properties.js new file mode 100644 index 0000000000..f0c18c8953 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_properties.js @@ -0,0 +1,35 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_properties.ts] //// + +//// [a.js] +class A { constructor() { this.x = 0; } } +/** @implements A*/ +class B {} + +/** @implements A*/ +class B2 { + x = 10 +} + +/** @implements {A}*/ +class B3 { + constructor() { this.x = 10 } +} + + + + +//// [a.d.ts] +declare class A { + constructor(); +} +/** @implements A*/ +declare class B implements A { +} +/** @implements A*/ +declare class B2 implements A { + x: number; +} +/** @implements {A}*/ +declare class B3 implements A { + constructor(); +} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_properties.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocImplements_properties.js.diff new file mode 100644 index 0000000000..e1a7117dd8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_properties.js.diff @@ -0,0 +1,18 @@ +--- old.jsdocImplements_properties.js ++++ new.jsdocImplements_properties.js +@@= skipped -19, +19 lines =@@ + + //// [a.d.ts] + declare class A { +- x: number; ++ constructor(); + } + /** @implements A*/ + declare class B implements A { +@@= skipped -11, +11 lines =@@ + } + /** @implements {A}*/ + declare class B3 implements A { +- x: number; ++ constructor(); + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocImplements_signatures.js b/testdata/baselines/reference/submodule/conformance/jsdocImplements_signatures.js new file mode 100644 index 0000000000..500b32d033 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocImplements_signatures.js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/jsdoc/jsdocImplements_signatures.ts] //// + +//// [defs.d.ts] +interface Sig { + [index: string]: string +} +//// [a.js] +/** @implements {Sig} */ +class B { +} + + + + +//// [a.d.ts] +/** @implements {Sig} */ +declare class B implements Sig { +} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters1.js b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters1.js new file mode 100644 index 0000000000..ccb78ebc72 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters1.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/jsdocOuterTypeParameters1.ts] //// + +//// [jsdocOuterTypeParameters1.js] +/** @return {T} */ +const dedupingMixin = function(mixin) {}; + + /** @template {T} */ +const PropertyAccessors = dedupingMixin(() => { + class Bar { + static bar() { this.prototype.foo(); } + } +}); + + + +//// [jsdocOuterTypeParameters1.js] +/** @return {T} */ +const dedupingMixin = function (mixin) { }; +/** @template {T} */ +const PropertyAccessors = dedupingMixin(() => { + class Bar { + static bar() { this.prototype.foo(); } + } +}); diff --git a/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters1.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters1.js.diff new file mode 100644 index 0000000000..355438ff79 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters1.js.diff @@ -0,0 +1,28 @@ +--- old.jsdocOuterTypeParameters1.js ++++ new.jsdocOuterTypeParameters1.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/conformance/jsdoc/jsdocOuterTypeParameters1.ts] //// ++ ++//// [jsdocOuterTypeParameters1.js] ++/** @return {T} */ ++const dedupingMixin = function(mixin) {}; ++ ++ /** @template {T} */ ++const PropertyAccessors = dedupingMixin(() => { ++ class Bar { ++ static bar() { this.prototype.foo(); } ++ } ++}); ++ ++ ++ ++//// [jsdocOuterTypeParameters1.js] ++/** @return {T} */ ++const dedupingMixin = function (mixin) { }; ++/** @template {T} */ ++const PropertyAccessors = dedupingMixin(() => { ++ class Bar { ++ static bar() { this.prototype.foo(); } ++ } ++}); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters2.js b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters2.js new file mode 100644 index 0000000000..c250972eb0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters2.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/jsdocOuterTypeParameters2.ts] //// + +//// [jsdocOuterTypeParameters1.js] +/** @return {T} */ +const dedupingMixin = function(mixin) {}; + + /** @template T */ +const PropertyAccessors = dedupingMixin(() => { + class Bar { + static bar() { this.prototype.foo(); } + } +}); + + + +//// [jsdocOuterTypeParameters1.js] +/** @return {T} */ +const dedupingMixin = function (mixin) { }; +/** @template T */ +const PropertyAccessors = dedupingMixin(() => { + class Bar { + static bar() { this.prototype.foo(); } + } +}); diff --git a/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters2.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters2.js.diff new file mode 100644 index 0000000000..1ba2476e43 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters2.js.diff @@ -0,0 +1,28 @@ +--- old.jsdocOuterTypeParameters2.js ++++ new.jsdocOuterTypeParameters2.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/conformance/jsdoc/jsdocOuterTypeParameters2.ts] //// ++ ++//// [jsdocOuterTypeParameters1.js] ++/** @return {T} */ ++const dedupingMixin = function(mixin) {}; ++ ++ /** @template T */ ++const PropertyAccessors = dedupingMixin(() => { ++ class Bar { ++ static bar() { this.prototype.foo(); } ++ } ++}); ++ ++ ++ ++//// [jsdocOuterTypeParameters1.js] ++/** @return {T} */ ++const dedupingMixin = function (mixin) { }; ++/** @template T */ ++const PropertyAccessors = dedupingMixin(() => { ++ class Bar { ++ static bar() { this.prototype.foo(); } ++ } ++}); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters3.js b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters3.js new file mode 100644 index 0000000000..8ea44d5197 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters3.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/jsdoc/jsdocOuterTypeParameters3.ts] //// + +//// [jsdocOuterTypeParameters3.js] +/** @template {T} */ +class Baz { + m() { + class Bar { + static bar() { this.prototype.foo(); } + } + } +} + + +//// [jsdocOuterTypeParameters3.js] +/** @template {T} */ +class Baz { + m() { + class Bar { + static bar() { this.prototype.foo(); } + } + } +} diff --git a/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters3.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters3.js.diff new file mode 100644 index 0000000000..5bcd23cd0b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocOuterTypeParameters3.js.diff @@ -0,0 +1,26 @@ +--- old.jsdocOuterTypeParameters3.js ++++ new.jsdocOuterTypeParameters3.js +@@= skipped -0, +0 lines =@@ +- ++//// [tests/cases/conformance/jsdoc/jsdocOuterTypeParameters3.ts] //// ++ ++//// [jsdocOuterTypeParameters3.js] ++/** @template {T} */ ++class Baz { ++ m() { ++ class Bar { ++ static bar() { this.prototype.foo(); } ++ } ++ } ++} ++ ++ ++//// [jsdocOuterTypeParameters3.js] ++/** @template {T} */ ++class Baz { ++ m() { ++ class Bar { ++ static bar() { this.prototype.foo(); } ++ } ++ } ++} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocSignatureOnReturnedFunction.js b/testdata/baselines/reference/submodule/conformance/jsdocSignatureOnReturnedFunction.js new file mode 100644 index 0000000000..67d3a6195e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocSignatureOnReturnedFunction.js @@ -0,0 +1,80 @@ +//// [tests/cases/conformance/jsdoc/jsdocSignatureOnReturnedFunction.ts] //// + +//// [jsdocSignatureOnReturnedFunction.js] +function f1() { + /** + * @param {number} a + * @param {number} b + * @returns {number} + */ + return (a, b) => { + return a + b; + } +} + +function f2() { + /** + * @param {number} a + * @param {number} b + * @returns {number} + */ + return function (a, b){ + return a + b; + } +} + +function f3() { + /** @type {(a: number, b: number) => number} */ + return (a, b) => { + return a + b; + } +} + +function f4() { + /** @type {(a: number, b: number) => number} */ + return function (a, b){ + return a + b; + } +} + + +//// [jsdocSignatureOnReturnedFunction.js] +function f1() { + /** + * @param {number} a + * @param {number} b + * @returns {number} + */ + return (a, b) => { + return a + b; + }; +} +function f2() { + /** + * @param {number} a + * @param {number} b + * @returns {number} + */ + return function (a, b) { + return a + b; + }; +} +function f3() { + /** @type {(a: number, b: number) => number} */ + return (a, b) => { + return a + b; + }; +} +function f4() { + /** @type {(a: number, b: number) => number} */ + return function (a, b) { + return a + b; + }; +} + + +//// [jsdocSignatureOnReturnedFunction.d.ts] +declare function f1(): (a: number, b: number) => number; +declare function f2(): (a: number, b: number) => number; +declare function f3(): (a: number, b: number) => number; +declare function f4(): (a: number, b: number) => number; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js new file mode 100644 index 0000000000..c7b444b44c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js @@ -0,0 +1,138 @@ +//// [tests/cases/conformance/jsdoc/jsdocTemplateTagDefault.ts] //// + +//// [file.js] +/** + * @template {string | number} [T=string] - ok: defaults are permitted + * @typedef {[T]} A + */ + +/** @type {A} */ // ok, default for `T` in `A` is `string` +const aDefault1 = [""]; +/** @type {A} */ // error: `number` is not assignable to string` +const aDefault2 = [0]; +/** @type {A} */ // ok, `T` is provided for `A` +const aString = [""]; +/** @type {A} */ // ok, `T` is provided for `A` +const aNumber = [0]; + +/** + * @template T + * @template [U=T] - ok: default can reference earlier type parameter + * @typedef {[T, U]} B + */ + +/** + * @template {string | number} [T] - error: default requires an `=type` + * @typedef {[T]} C + */ + +/** + * @template {string | number} [T=] - error: default requires a `type` + * @typedef {[T]} D + */ + +/** + * @template {string | number} [T=string] + * @template U - error: Required type parameters cannot follow optional type parameters + * @typedef {[T, U]} E + */ + +/** + * @template [T=U] - error: Type parameter defaults can only reference previously declared type parameters. + * @template [U=T] + * @typedef {[T, U]} G + */ + +/** + * @template T + * @template [U=T] - ok: default can reference earlier type parameter + * @param {T} a + * @param {U} b + */ +function f1(a, b) {} + + /** + * @template {string | number} [T=string] + * @template U - error: Required type parameters cannot follow optional type parameters + * @param {T} a + * @param {U} b + */ +function f2(a, b) {} + +/** + * @template [T=U] - error: Type parameter defaults can only reference previously declared type parameters. + * @template [U=T] + * @param {T} a + * @param {U} b + */ +function f3(a, b) {} + + +//// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @template {string | number} [T=string] - ok: defaults are permitted + * @typedef {[T]} A + */ +/** @type {A} */ // ok, default for `T` in `A` is `string` +const aDefault1 = [""]; +/** @type {A} */ // error: `number` is not assignable to string` +const aDefault2 = [0]; +/** @type {A} */ // ok, `T` is provided for `A` +const aString = [""]; +/** @type {A} */ // ok, `T` is provided for `A` +const aNumber = [0]; +/** + * @template T + * @template [U=T] - ok: default can reference earlier type parameter + * @typedef {[T, U]} B + */ +/** + * @template {string | number} [T] - error: default requires an `=type` + * @typedef {[T]} C + */ +/** + * @template {string | number} [T=] - error: default requires a `type` + * @typedef {[T]} D + */ +/** + * @template {string | number} [T=string] + * @template U - error: Required type parameters cannot follow optional type parameters + * @typedef {[T, U]} E + */ +/** + * @template [T=U] - error: Type parameter defaults can only reference previously declared type parameters. + * @template [U=T] + * @typedef {[T, U]} G + */ +/** + * @template T + * @template [U=T] - ok: default can reference earlier type parameter + * @param {T} a + * @param {U} b + */ +function f1(a, b) { } +/** +* @template {string | number} [T=string] +* @template U - error: Required type parameters cannot follow optional type parameters +* @param {T} a +* @param {U} b +*/ +function f2(a, b) { } +/** + * @template [T=U] - error: Type parameter defaults can only reference previously declared type parameters. + * @template [U=T] + * @param {T} a + * @param {U} b + */ +function f3(a, b) { } + + +//// [file.d.ts] +export type A = [T]; +export type B = [T, U]; +export type C = [T]; +export type D = [T]; +export type E = [T, U]; +export type G = [T, U]; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff new file mode 100644 index 0000000000..7fe14aa992 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagDefault.js.diff @@ -0,0 +1,79 @@ +--- old.jsdocTemplateTagDefault.js ++++ new.jsdocTemplateTagDefault.js +@@= skipped -68, +68 lines =@@ + + + //// [file.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @template {string | number} [T=string] - ok: defaults are permitted + * @typedef {[T]} A +@@= skipped -59, +61 lines =@@ + + + //// [file.d.ts] +-/** +- * @template T +- * @template [U=T] - ok: default can reference earlier type parameter +- * @typedef {[T, U]} B +- */ +-/** +- * @template {string | number} [T] - error: default requires an `=type` +- * @typedef {[T]} C +- */ +-/** +- * @template {string | number} [T=] - error: default requires a `type` +- * @typedef {[T]} D +- */ +-/** +- * @template {string | number} [T=string] +- * @template U - error: Required type parameters cannot follow optional type parameters +- * @typedef {[T, U]} E +- */ +-/** +- * @template [T=U] - error: Type parameter defaults can only reference previously declared type parameters. +- * @template [U=T] +- * @typedef {[T, U]} G +- */ +-/** +- * @template T +- * @template [U=T] - ok: default can reference earlier type parameter +- * @param {T} a +- * @param {U} b +- */ +-declare function f1(a: T, b: U): void; +-/** +-* @template {string | number} [T=string] +-* @template U - error: Required type parameters cannot follow optional type parameters +-* @param {T} a +-* @param {U} b +-*/ +-declare function f2(a: T, b: U): void; +-/** +- * @template [T=U] - error: Type parameter defaults can only reference previously declared type parameters. +- * @template [U=T] +- * @param {T} a +- * @param {U} b +- */ +-declare function f3(a: T, b: U): void; +-/** +- * @template {string | number} [T=string] - ok: defaults are permitted +- * @typedef {[T]} A +- */ +-/** @type {A} */ declare const aDefault1: A; +-/** @type {A} */ declare const aDefault2: A; +-/** @type {A} */ declare const aString: A; +-/** @type {A} */ declare const aNumber: A; +-type B = [T, U]; +-type C = [T]; +-type D = [T]; +-type E = [T, U]; +-type G = [T, U]; +-type A = [T]; ++export type A = [T]; ++export type B = [T, U]; ++export type C = [T]; ++export type D = [T]; ++export type E = [T, U]; ++export type G = [T, U]; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js new file mode 100644 index 0000000000..f607f63de7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js @@ -0,0 +1,29 @@ +//// [tests/cases/conformance/jsdoc/jsdocTemplateTagNameResolution.ts] //// + +//// [file.js] +/** + * @template T + * @template {keyof T} K + * @typedef {T[K]} Foo + */ + +const x = { a: 1 }; + +/** @type {Foo} */ +const y = "a"; + +//// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @template T + * @template {keyof T} K + * @typedef {T[K]} Foo + */ +const x = { a: 1 }; +/** @type {Foo} */ +const y = "a"; + + +//// [file.d.ts] +export type Foo = T[K]; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff new file mode 100644 index 0000000000..5b6477fc9e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTemplateTagNameResolution.js.diff @@ -0,0 +1,22 @@ +--- old.jsdocTemplateTagNameResolution.js ++++ new.jsdocTemplateTagNameResolution.js +@@= skipped -12, +12 lines =@@ + const y = "a"; + + //// [file.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @template T + * @template {keyof T} K +@@= skipped -11, +13 lines =@@ + + + //// [file.d.ts] +-declare namespace x { +- let a: number; +-} +-/** @type {Foo} */ +-declare const y: Foo; +-type Foo = T[K]; ++export type Foo = T[K]; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeTag.js b/testdata/baselines/reference/submodule/conformance/jsdocTypeTag.js new file mode 100644 index 0000000000..77d7aacba2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeTag.js @@ -0,0 +1,176 @@ +//// [tests/cases/conformance/jsdoc/jsdocTypeTag.ts] //// + +//// [a.js] +/** @type {String} */ +var S; + +/** @type {string} */ +var s; + +/** @type {Number} */ +var N; + +/** @type {number} */ +var n; + +/** @type {BigInt} */ +var BI; + +/** @type {bigint} */ +var bi; + +/** @type {Boolean} */ +var B; + +/** @type {boolean} */ +var b; + +/** @type {Void} */ +var V; + +/** @type {void} */ +var v; + +/** @type {Undefined} */ +var U; + +/** @type {undefined} */ +var u; + +/** @type {Null} */ +var Nl; + +/** @type {null} */ +var nl; + +/** @type {Array} */ +var A; + +/** @type {array} */ +var a; + +/** @type {Promise} */ +var P; + +/** @type {promise} */ +var p; + +/** @type {?number} */ +var nullable; + +/** @type {Object} */ +var Obj; + +/** @type {object} */ +var obj; + +/** @type {Function} */ +var Func; + +/** @type {(s: string) => number} */ +var f; + +/** @type {new (s: string) => { s: string }} */ +var ctor; + +//// [b.ts] +var S: string; +var s: string; +var N: number; +var n: number +var B: boolean; +var b: boolean; +var BI: bigint; +var bi: bigint; +var V :void; +var v: void; +var U: undefined; +var u: undefined; +var Nl: null; +var nl: null; +var A: any[]; +var a: any[]; +var P: Promise; +var p: Promise; +var nullable: number | null; +var Obj: any; +var obj: any; +var Func: Function; +var f: (s: string) => number; +var ctor: new (s: string) => { s: string }; + + +//// [a.js] +/** @type {String} */ +var S; +/** @type {string} */ +var s; +/** @type {Number} */ +var N; +/** @type {number} */ +var n; +/** @type {BigInt} */ +var BI; +/** @type {bigint} */ +var bi; +/** @type {Boolean} */ +var B; +/** @type {boolean} */ +var b; +/** @type {Void} */ +var V; +/** @type {void} */ +var v; +/** @type {Undefined} */ +var U; +/** @type {undefined} */ +var u; +/** @type {Null} */ +var Nl; +/** @type {null} */ +var nl; +/** @type {Array} */ +var A; +/** @type {array} */ +var a; +/** @type {Promise} */ +var P; +/** @type {promise} */ +var p; +/** @type {?number} */ +var nullable; +/** @type {Object} */ +var Obj; +/** @type {object} */ +var obj; +/** @type {Function} */ +var Func; +/** @type {(s: string) => number} */ +var f; +/** @type {new (s: string) => { s: string }} */ +var ctor; +//// [b.js] +var S; +var s; +var N; +var n; +var B; +var b; +var BI; +var bi; +var V; +var v; +var U; +var u; +var Nl; +var nl; +var A; +var a; +var P; +var p; +var nullable; +var Obj; +var obj; +var Func; +var f; +var ctor; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeTagCast.js b/testdata/baselines/reference/submodule/conformance/jsdocTypeTagCast.js new file mode 100644 index 0000000000..5b56dfccf9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeTagCast.js @@ -0,0 +1,143 @@ +//// [tests/cases/conformance/jsdoc/jsdocTypeTagCast.ts] //// + +//// [a.ts] +var W: string; + +//// [b.js] +// @ts-check +var W = /** @type {string} */(/** @type {*} */ (4)); + +var W = /** @type {string} */(4); // Error + +/** @type {*} */ +var a; + +/** @type {string} */ +var s; + +var a = /** @type {*} */("" + 4); +var s = "" + /** @type {*} */(4); + +class SomeBase { + constructor() { + this.p = 42; + } +} +class SomeDerived extends SomeBase { + constructor() { + super(); + this.x = 42; + } +} +class SomeOther { + constructor() { + this.q = 42; + } +} + +function SomeFakeClass() { + /** @type {string|number} */ + this.p = "bar"; +} + +// Type assertion should check for assignability in either direction +var someBase = new SomeBase(); +var someDerived = new SomeDerived(); +var someOther = new SomeOther(); +var someFakeClass = new SomeFakeClass(); + +someBase = /** @type {SomeBase} */(someDerived); +someBase = /** @type {SomeBase} */(someBase); +someBase = /** @type {SomeBase} */(someOther); // Error + +someDerived = /** @type {SomeDerived} */(someDerived); +someDerived = /** @type {SomeDerived} */(someBase); +someDerived = /** @type {SomeDerived} */(someOther); // Error + +someOther = /** @type {SomeOther} */(someDerived); // Error +someOther = /** @type {SomeOther} */(someBase); // Error +someOther = /** @type {SomeOther} */(someOther); + +someFakeClass = someBase; +someFakeClass = someDerived; + +someBase = someFakeClass; // Error +someBase = /** @type {SomeBase} */(someFakeClass); + +// Type assertion cannot be a type-predicate type +/** @type {number | string} */ +var numOrStr; +/** @type {string} */ +var str; +if(/** @type {numOrStr is string} */(numOrStr === undefined)) { // Error + str = numOrStr; // Error, no narrowing occurred +} + + +var asConst1 = /** @type {const} */(1); +var asConst2 = /** @type {const} */({ + x: 1 +}); + +//// [a.js] +var W; +//// [b.js] +// @ts-check +var W = /** @type {string} */ 4; +var W = /** @type {string} */ 4; // Error +/** @type {*} */ +var a; +/** @type {string} */ +var s; +var a = /** @type {*} */ "" + 4; +var s = "" + /** @type {*} */ 4; +class SomeBase { + constructor() { + this.p = 42; + } +} +class SomeDerived extends SomeBase { + constructor() { + super(); + this.x = 42; + } +} +class SomeOther { + constructor() { + this.q = 42; + } +} +function SomeFakeClass() { + /** @type {string|number} */ + this.p = "bar"; +} +// Type assertion should check for assignability in either direction +var someBase = new SomeBase(); +var someDerived = new SomeDerived(); +var someOther = new SomeOther(); +var someFakeClass = new SomeFakeClass(); +someBase = /** @type {SomeBase} */ someDerived; +someBase = /** @type {SomeBase} */ someBase; +someBase = /** @type {SomeBase} */ someOther; // Error +someDerived = /** @type {SomeDerived} */ someDerived; +someDerived = /** @type {SomeDerived} */ someBase; +someDerived = /** @type {SomeDerived} */ someOther; // Error +someOther = /** @type {SomeOther} */ someDerived; // Error +someOther = /** @type {SomeOther} */ someBase; // Error +someOther = /** @type {SomeOther} */ someOther; +someFakeClass = someBase; +someFakeClass = someDerived; +someBase = someFakeClass; // Error +someBase = /** @type {SomeBase} */ someFakeClass; +// Type assertion cannot be a type-predicate type +/** @type {number | string} */ +var numOrStr; +/** @type {string} */ +var str; +if ( /** @type {numOrStr is string} */numOrStr === undefined) { // Error + str = numOrStr; // Error, no narrowing occurred +} +var asConst1 = /** @type {const} */ 1; +var asConst2 = /** @type {const} */ { + x: 1 +}; diff --git a/testdata/baselines/reference/submodule/conformance/jsdocTypeTagCast.js.diff b/testdata/baselines/reference/submodule/conformance/jsdocTypeTagCast.js.diff new file mode 100644 index 0000000000..da3bfb110d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocTypeTagCast.js.diff @@ -0,0 +1,64 @@ +--- old.jsdocTypeTagCast.js ++++ new.jsdocTypeTagCast.js +@@= skipped -82, +82 lines =@@ + var W; + //// [b.js] + // @ts-check +-var W = /** @type {string} */ ( /** @type {*} */(4)); +-var W = /** @type {string} */ (4); // Error ++var W = /** @type {string} */ 4; ++var W = /** @type {string} */ 4; // Error + /** @type {*} */ + var a; + /** @type {string} */ + var s; +-var a = /** @type {*} */ ("" + 4); +-var s = "" + /** @type {*} */ (4); ++var a = /** @type {*} */ "" + 4; ++var s = "" + /** @type {*} */ 4; + class SomeBase { + constructor() { + this.p = 42; +@@= skipped -33, +33 lines =@@ + var someDerived = new SomeDerived(); + var someOther = new SomeOther(); + var someFakeClass = new SomeFakeClass(); +-someBase = /** @type {SomeBase} */ (someDerived); +-someBase = /** @type {SomeBase} */ (someBase); +-someBase = /** @type {SomeBase} */ (someOther); // Error +-someDerived = /** @type {SomeDerived} */ (someDerived); +-someDerived = /** @type {SomeDerived} */ (someBase); +-someDerived = /** @type {SomeDerived} */ (someOther); // Error +-someOther = /** @type {SomeOther} */ (someDerived); // Error +-someOther = /** @type {SomeOther} */ (someBase); // Error +-someOther = /** @type {SomeOther} */ (someOther); ++someBase = /** @type {SomeBase} */ someDerived; ++someBase = /** @type {SomeBase} */ someBase; ++someBase = /** @type {SomeBase} */ someOther; // Error ++someDerived = /** @type {SomeDerived} */ someDerived; ++someDerived = /** @type {SomeDerived} */ someBase; ++someDerived = /** @type {SomeDerived} */ someOther; // Error ++someOther = /** @type {SomeOther} */ someDerived; // Error ++someOther = /** @type {SomeOther} */ someBase; // Error ++someOther = /** @type {SomeOther} */ someOther; + someFakeClass = someBase; + someFakeClass = someDerived; + someBase = someFakeClass; // Error +-someBase = /** @type {SomeBase} */ (someFakeClass); ++someBase = /** @type {SomeBase} */ someFakeClass; + // Type assertion cannot be a type-predicate type + /** @type {number | string} */ + var numOrStr; + /** @type {string} */ + var str; +-if ( /** @type {numOrStr is string} */(numOrStr === undefined)) { // Error ++if ( /** @type {numOrStr is string} */numOrStr === undefined) { // Error + str = numOrStr; // Error, no narrowing occurred + } +-var asConst1 = /** @type {const} */ (1); +-var asConst2 = /** @type {const} */ ({ ++var asConst1 = /** @type {const} */ 1; ++var asConst2 = /** @type {const} */ { + x: 1 +-}); ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/jsdocVariableDeclarationWithTypeAnnotation.js b/testdata/baselines/reference/submodule/conformance/jsdocVariableDeclarationWithTypeAnnotation.js new file mode 100644 index 0000000000..6357f7e9f3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsdocVariableDeclarationWithTypeAnnotation.js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/jsdoc/jsdocVariableDeclarationWithTypeAnnotation.ts] //// + +//// [foo.js] +/** @type {boolean} */ +var /** @type {string} */ x, + /** @type {number} */ y; + + +//// [foo.js] +/** @type {boolean} */ +var /** @type {string} */ x, +/** @type {number} */ y; diff --git a/testdata/baselines/reference/submodule/conformance/jsxCheckJsxNoTypeArgumentsAllowed.js b/testdata/baselines/reference/submodule/conformance/jsxCheckJsxNoTypeArgumentsAllowed.js new file mode 100644 index 0000000000..511f66cd13 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsxCheckJsxNoTypeArgumentsAllowed.js @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/jsx/jsxCheckJsxNoTypeArgumentsAllowed.tsx] //// + +//// [component.d.ts] +import * as React from "react"; +export declare class MyComp

extends React.Component { + internalProp: P; +} + +export interface Prop { + a: number, + b: string +} + +//// [file.jsx] +import { MyComp, Prop } from "./component"; +import * as React from "react"; + +let x = a={10} b="hi" />; // error, no type arguments in js + + +//// [file.jsx] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const component_1 = require("./component"); +const React = require("react"); +let x = (, a={10} b="hi" />; // error, no type arguments in js +); diff --git a/testdata/baselines/reference/submodule/conformance/jsxCheckJsxNoTypeArgumentsAllowed.js.diff b/testdata/baselines/reference/submodule/conformance/jsxCheckJsxNoTypeArgumentsAllowed.js.diff new file mode 100644 index 0000000000..4eeb3ac91c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/jsxCheckJsxNoTypeArgumentsAllowed.js.diff @@ -0,0 +1,14 @@ +--- old.jsxCheckJsxNoTypeArgumentsAllowed.js ++++ new.jsxCheckJsxNoTypeArgumentsAllowed.js +@@= skipped -20, +20 lines =@@ + //// [file.jsx] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var component_1 = require("./component"); +-var React = require("react"); +-let x = , a={10} b="hi" />; // error, no type arguments in js +-; ++const component_1 = require("./component"); ++const React = require("react"); ++let x = (, a={10} b="hi" />; // error, no type arguments in js ++); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS.js b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS.js new file mode 100644 index 0000000000..7a2e02ecc9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/salsa/lateBoundClassMemberAssignmentJS.ts] //// + +//// [lateBoundClassMemberAssignmentJS.js] +const _sym = Symbol("_sym"); +export class MyClass { + constructor() { + this[_sym] = "ok"; + } + + method() { + this[_sym] = "yep"; + const x = this[_sym]; + } +} + + + +//// [lateBoundClassMemberAssignmentJS.d.ts] +export declare class MyClass { + constructor(); + method(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS.js.diff b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS.js.diff new file mode 100644 index 0000000000..6d5a82085a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS.js.diff @@ -0,0 +1,14 @@ +--- old.lateBoundClassMemberAssignmentJS.js ++++ new.lateBoundClassMemberAssignmentJS.js +@@= skipped -15, +15 lines =@@ + + + //// [lateBoundClassMemberAssignmentJS.d.ts] +-export class MyClass { +- [_sym]: string; ++export declare class MyClass { ++ constructor(); + method(): void; + } +-declare const _sym: unique symbol; +-export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS2.js b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS2.js new file mode 100644 index 0000000000..9fbc8eb782 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS2.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/salsa/lateBoundClassMemberAssignmentJS2.ts] //// + +//// [lateBoundClassMemberAssignmentJS2.js] +const _sym = "my-fake-sym"; +export class MyClass { + constructor() { + this[_sym] = "ok"; + } + + method() { + this[_sym] = "yep"; + const x = this[_sym]; + } +} + + + +//// [lateBoundClassMemberAssignmentJS2.d.ts] +export declare class MyClass { + constructor(); + method(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS2.js.diff b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS2.js.diff new file mode 100644 index 0000000000..c6ec4705e1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS2.js.diff @@ -0,0 +1,12 @@ +--- old.lateBoundClassMemberAssignmentJS2.js ++++ new.lateBoundClassMemberAssignmentJS2.js +@@= skipped -15, +15 lines =@@ + + + //// [lateBoundClassMemberAssignmentJS2.d.ts] +-export class MyClass { +- "my-fake-sym": string; ++export declare class MyClass { ++ constructor(); + method(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS3.js b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS3.js new file mode 100644 index 0000000000..d87ab12afe --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS3.js @@ -0,0 +1,25 @@ +//// [tests/cases/conformance/salsa/lateBoundClassMemberAssignmentJS3.ts] //// + +//// [lateBoundClassMemberAssignmentJS.js] +const _sym = Symbol("_sym"); +export class MyClass { + constructor() { + var self = this + self[_sym] = "ok"; + } + + method() { + var self = this + self[_sym] = "yep"; + const x = self[_sym]; + } +} + + + + +//// [lateBoundClassMemberAssignmentJS.d.ts] +export declare class MyClass { + constructor(); + method(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS3.js.diff b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS3.js.diff new file mode 100644 index 0000000000..6d95902a29 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/lateBoundClassMemberAssignmentJS3.js.diff @@ -0,0 +1,14 @@ +--- old.lateBoundClassMemberAssignmentJS3.js ++++ new.lateBoundClassMemberAssignmentJS3.js +@@= skipped -18, +18 lines =@@ + + + //// [lateBoundClassMemberAssignmentJS.d.ts] +-export class MyClass { +- [_sym]: string; ++export declare class MyClass { ++ constructor(); + method(): void; + } +-declare const _sym: unique symbol; +-export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/library-reference-11.js b/testdata/baselines/reference/submodule/conformance/library-reference-11.js new file mode 100644 index 0000000000..2184456b52 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/library-reference-11.js @@ -0,0 +1,19 @@ +//// [tests/cases/conformance/references/library-reference-11.ts] //// + +//// [package.json] +{ + "typings": "jquery.d.ts" +} + +//// [jquery.d.ts] +declare var $: { foo(): void }; + + +//// [consumer.ts] +/// +$.foo(); + + +//// [consumer.js] +/// +$.foo(); diff --git a/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js new file mode 100644 index 0000000000..696fd83743 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js @@ -0,0 +1,58 @@ +//// [tests/cases/conformance/jsdoc/linkTagEmit1.ts] //// + +//// [declarations.d.ts] +declare namespace NS { + type R = number +} +//// [linkTagEmit1.js] +/** @typedef {number} N */ +/** + * @typedef {Object} D1 + * @property {1} e Just link to {@link NS.R} this time + * @property {1} m Wyatt Earp loved {@link N integers} I bet. + */ + +/** @typedef {number} Z @see N {@link N} */ + +/** + * @param {number} integer {@link Z} + */ +function computeCommonSourceDirectoryOfFilenames(integer) { + return integer + 1 // pls pls pls +} + +/** {@link https://hvad} */ +var see3 = true + +/** @typedef {number} Attempt {@link https://wat} {@linkcode I think lingcod is better} {@linkplain or lutefisk}*/ + + +//// [linkTagEmit1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @typedef {number} N */ +/** + * @typedef {Object} D1 + * @property {1} e Just link to {@link NS.R} this time + * @property {1} m Wyatt Earp loved {@link N integers} I bet. + */ +/** @typedef {number} Z @see N {@link N} */ +/** + * @param {number} integer {@link Z} + */ +function computeCommonSourceDirectoryOfFilenames(integer) { + return integer + 1; // pls pls pls +} +/** {@link https://hvad} */ +var see3 = true; +/** @typedef {number} Attempt {@link https://wat} {@linkcode I think lingcod is better} {@linkplain or lutefisk}*/ + + +//// [linkTagEmit1.d.ts] +export type N = number; +export type D1 = { + e: 1; + m: 1; +}; +export type Z = number; +/** @typedef {number} Attempt {@link https://wat} {@linkcode I think lingcod is better} {@linkplain or lutefisk}*/ diff --git a/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff new file mode 100644 index 0000000000..85033d0884 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/linkTagEmit1.js.diff @@ -0,0 +1,48 @@ +--- old.linkTagEmit1.js ++++ new.linkTagEmit1.js +@@= skipped -27, +27 lines =@@ + + + //// [linkTagEmit1.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** @typedef {number} N */ + /** + * @typedef {Object} D1 +@@= skipped -19, +21 lines =@@ + + + //// [linkTagEmit1.d.ts] +-/** @typedef {number} N */ +-/** +- * @typedef {Object} D1 +- * @property {1} e Just link to {@link NS.R} this time +- * @property {1} m Wyatt Earp loved {@link N integers} I bet. +- */ +-/** @typedef {number} Z @see N {@link N} */ +-/** +- * @param {number} integer {@link Z} +- */ +-declare function computeCommonSourceDirectoryOfFilenames(integer: number): number; +-/** {@link https://hvad} */ +-declare var see3: boolean; +-type N = number; +-type D1 = { +- /** +- * Just link to {@link NS.R} this time +- */ ++export type N = number; ++export type D1 = { + e: 1; +- /** +- * Wyatt Earp loved {@link N integers} I bet. +- */ + m: 1; + }; +-type Z = number; +-/** +- * {@link https://wat} {@linkcode I think lingcod is better} {@linkplain or lutefisk} +- */ +-type Attempt = number; ++export type Z = number; ++/** @typedef {number} Attempt {@link https://wat} {@linkcode I think lingcod is better} {@linkplain or lutefisk}*/ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/malformedTags.js b/testdata/baselines/reference/submodule/conformance/malformedTags.js new file mode 100644 index 0000000000..14913d3bab --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/malformedTags.js @@ -0,0 +1,18 @@ +//// [tests/cases/conformance/salsa/malformedTags.ts] //// + +//// [myFile02.js] +/** + * Checks if `value` is classified as an `Array` object. + * + * @type Function + */ +var isArray = Array.isArray; + + +//// [myFile02.js] +/** + * Checks if `value` is classified as an `Array` object. + * + * @type Function + */ +var isArray = Array.isArray; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js new file mode 100644 index 0000000000..1f0669fe78 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js @@ -0,0 +1,48 @@ +//// [tests/cases/conformance/salsa/moduleExportAliasElementAccessExpression.ts] //// + +//// [moduleExportAliasElementAccessExpression.js] +function D () { } +exports["D"] = D; + // (the only package I could find that uses spaces in identifiers is webidl-conversions) +exports["Does not work yet"] = D; + + +//// [moduleExportAliasElementAccessExpression.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function D() { } +export var D = D; +exports["D"] = D; +// (the only package I could find that uses spaces in identifiers is webidl-conversions) +export var Does not work yet = D; +// (the only package I could find that uses spaces in identifiers is webidl-conversions) +exports["Does not work yet"] = D; + + +//// [moduleExportAliasElementAccessExpression.d.ts] +export var D = D; +// (the only package I could find that uses spaces in identifiers is webidl-conversions) +export var Does not work yet = D; +export {}; + + +//// [DtsFileErrors] + + +out/moduleExportAliasElementAccessExpression.d.ts(3,17): error TS1005: ',' expected. +out/moduleExportAliasElementAccessExpression.d.ts(3,21): error TS1005: ',' expected. +out/moduleExportAliasElementAccessExpression.d.ts(3,26): error TS1005: ',' expected. + + +==== out/moduleExportAliasElementAccessExpression.d.ts (3 errors) ==== + export var D = D; + // (the only package I could find that uses spaces in identifiers is webidl-conversions) + export var Does not work yet = D; + ~~~ +!!! error TS1005: ',' expected. + ~~~~ +!!! error TS1005: ',' expected. + ~~~ +!!! error TS1005: ',' expected. + export {}; + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff new file mode 100644 index 0000000000..4131ddf196 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportAliasElementAccessExpression.js.diff @@ -0,0 +1,46 @@ +--- old.moduleExportAliasElementAccessExpression.js ++++ new.moduleExportAliasElementAccessExpression.js +@@= skipped -7, +7 lines =@@ + + + //// [moduleExportAliasElementAccessExpression.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + function D() { } ++export var D = D; + exports["D"] = D; + // (the only package I could find that uses spaces in identifiers is webidl-conversions) ++export var Does not work yet = D; ++// (the only package I could find that uses spaces in identifiers is webidl-conversions) + exports["Does not work yet"] = D; + + + //// [moduleExportAliasElementAccessExpression.d.ts] +-export function D(): void; +-export { D as _Does_not_work_yet }; ++export var D = D; ++// (the only package I could find that uses spaces in identifiers is webidl-conversions) ++export var Does not work yet = D; ++export {}; ++ ++ ++//// [DtsFileErrors] ++ ++ ++out/moduleExportAliasElementAccessExpression.d.ts(3,17): error TS1005: ',' expected. ++out/moduleExportAliasElementAccessExpression.d.ts(3,21): error TS1005: ',' expected. ++out/moduleExportAliasElementAccessExpression.d.ts(3,26): error TS1005: ',' expected. ++ ++ ++==== out/moduleExportAliasElementAccessExpression.d.ts (3 errors) ==== ++ export var D = D; ++ // (the only package I could find that uses spaces in identifiers is webidl-conversions) ++ export var Does not work yet = D; ++ ~~~ ++!!! error TS1005: ',' expected. ++ ~~~~ ++!!! error TS1005: ',' expected. ++ ~~~ ++!!! error TS1005: ',' expected. ++ export {}; ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js new file mode 100644 index 0000000000..5efb46cf66 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/salsa/moduleExportDuplicateAlias.ts] //// + +//// [moduleExportAliasDuplicateAlias.js] +exports.apply = undefined; +function a() { } +exports.apply() +exports.apply = a; +exports.apply() + +//// [test.js] +const { apply } = require('./moduleExportAliasDuplicateAlias') +apply() + + +//// [moduleExportAliasDuplicateAlias.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; +exports.apply = undefined; +function a() { } +exports.apply(); +export var apply = a; +exports.apply = a; +exports.apply(); +//// [test.js] +"use strict"; +const { apply } = require('./moduleExportAliasDuplicateAlias'); +apply(); + + +//// [moduleExportAliasDuplicateAlias.d.ts] +export var apply = undefined; +export var apply = a; +export {}; +//// [test.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff new file mode 100644 index 0000000000..1f6798aa2b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias.js.diff @@ -0,0 +1,26 @@ +--- old.moduleExportDuplicateAlias.js ++++ new.moduleExportDuplicateAlias.js +@@= skipped -13, +13 lines =@@ + + //// [moduleExportAliasDuplicateAlias.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var apply = undefined; + exports.apply = undefined; + function a() { } + exports.apply(); ++export var apply = a; + exports.apply = a; + exports.apply(); + //// [test.js] +@@= skipped -12, +15 lines =@@ + + + //// [moduleExportAliasDuplicateAlias.d.ts] +-export { a as apply }; +-declare function a(): void; ++export var apply = undefined; ++export var apply = a; ++export {}; + //// [test.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js new file mode 100644 index 0000000000..32cd447fba --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js @@ -0,0 +1,38 @@ +//// [tests/cases/conformance/salsa/moduleExportDuplicateAlias2.ts] //// + +//// [moduleExportAliasDuplicateAlias.js] +module.exports.apply = undefined; +function a() { } +module.exports.apply = a; +module.exports.apply = a; +module.exports.apply() + +//// [test.js] +const { apply } = require('./moduleExportAliasDuplicateAlias') +apply() + + +//// [moduleExportAliasDuplicateAlias.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; +module.exports.apply = undefined; +function a() { } +export var apply = a; +module.exports.apply = a; +export var apply = a; +module.exports.apply = a; +module.exports.apply(); +//// [test.js] +"use strict"; +const { apply } = require('./moduleExportAliasDuplicateAlias'); +apply(); + + +//// [moduleExportAliasDuplicateAlias.d.ts] +export var apply = undefined; +export var apply = a; +export var apply = a; +export {}; +//// [test.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff new file mode 100644 index 0000000000..547d966ad9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias2.js.diff @@ -0,0 +1,28 @@ +--- old.moduleExportDuplicateAlias2.js ++++ new.moduleExportDuplicateAlias2.js +@@= skipped -13, +13 lines =@@ + + //// [moduleExportAliasDuplicateAlias.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var apply = undefined; + module.exports.apply = undefined; + function a() { } ++export var apply = a; + module.exports.apply = a; ++export var apply = a; + module.exports.apply = a; + module.exports.apply(); + //// [test.js] +@@= skipped -12, +16 lines =@@ + + + //// [moduleExportAliasDuplicateAlias.d.ts] +-export { a as apply }; +-declare function a(): void; ++export var apply = undefined; ++export var apply = a; ++export var apply = a; ++export {}; + //// [test.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js new file mode 100644 index 0000000000..ca8ba75bb5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js @@ -0,0 +1,48 @@ +//// [tests/cases/conformance/salsa/moduleExportDuplicateAlias3.ts] //// + +//// [moduleExportAliasDuplicateAlias.js] +exports.apply = undefined; +exports.apply = undefined; +function a() { } +exports.apply = a; +exports.apply() +exports.apply = 'ok' +var OK = exports.apply.toUpperCase() +exports.apply = 1 + +//// [test.js] +const { apply } = require('./moduleExportAliasDuplicateAlias') +const result = apply.toFixed() + + +//// [moduleExportAliasDuplicateAlias.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var apply = undefined; +exports.apply = undefined; +export var apply = undefined; +exports.apply = undefined; +function a() { } +export var apply = a; +exports.apply = a; +exports.apply(); +export var apply = 'ok'; +exports.apply = 'ok'; +var OK = exports.apply.toUpperCase(); +export var apply = 1; +exports.apply = 1; +//// [test.js] +"use strict"; +const { apply } = require('./moduleExportAliasDuplicateAlias'); +const result = apply.toFixed(); + + +//// [moduleExportAliasDuplicateAlias.d.ts] +export var apply = undefined; +export var apply = undefined; +export var apply = a; +export var apply = 'ok'; +export var apply = 1; +export {}; +//// [test.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff new file mode 100644 index 0000000000..031199c202 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportDuplicateAlias3.js.diff @@ -0,0 +1,37 @@ +--- old.moduleExportDuplicateAlias3.js ++++ new.moduleExportDuplicateAlias3.js +@@= skipped -16, +16 lines =@@ + + //// [moduleExportAliasDuplicateAlias.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var apply = undefined; + exports.apply = undefined; ++export var apply = undefined; + exports.apply = undefined; + function a() { } ++export var apply = a; + exports.apply = a; + exports.apply(); ++export var apply = 'ok'; + exports.apply = 'ok'; + var OK = exports.apply.toUpperCase(); ++export var apply = 1; + exports.apply = 1; + //// [test.js] + "use strict"; +@@= skipped -15, +21 lines =@@ + + + //// [moduleExportAliasDuplicateAlias.d.ts] +-export const apply: "ok" | 1 | typeof a | undefined; +-export { a as apply }; +-declare function a(): void; ++export var apply = undefined; ++export var apply = undefined; ++export var apply = a; ++export var apply = 'ok'; ++export var apply = 1; ++export {}; + //// [test.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportsElementAccessAssignment.js b/testdata/baselines/reference/submodule/conformance/moduleExportsElementAccessAssignment.js new file mode 100644 index 0000000000..5e70503425 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportsElementAccessAssignment.js @@ -0,0 +1,30 @@ +//// [tests/cases/conformance/jsdoc/moduleExportsElementAccessAssignment.ts] //// + +//// [mod1.js] +exports.a = { x: "x" }; +exports["b"] = { x: "x" }; +exports["default"] = { x: "x" }; +module.exports["c"] = { x: "x" }; +module["exports"]["d"] = {}; +module["exports"]["d"].e = 0; + +//// [mod2.js] +const mod1 = require("./mod1"); +mod1.a; +mod1.b; +mod1.c; +mod1.d; +mod1.d.e; +mod1.default; + + + +//// [mod1.d.ts] +export var a = { x: "x" }; +export var b = { x: "x" }; +export var default = { x: "x" }; +export var c = { x: "x" }; +export var d = {}; +export {}; +//// [mod2.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/moduleExportsElementAccessAssignment.js.diff b/testdata/baselines/reference/submodule/conformance/moduleExportsElementAccessAssignment.js.diff new file mode 100644 index 0000000000..5c413072ad --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/moduleExportsElementAccessAssignment.js.diff @@ -0,0 +1,33 @@ +--- old.moduleExportsElementAccessAssignment.js ++++ new.moduleExportsElementAccessAssignment.js +@@= skipped -19, +19 lines =@@ + + + //// [mod1.d.ts] +-export namespace a { +- let x: string; +-} +-export namespace b { +- let x_1: string; +- export { x_1 as x }; +-} +-declare namespace _default { +- let x_2: string; +- export { x_2 as x }; +-} +-export default _default; +-export namespace c { +- let x_3: string; +- export { x_3 as x }; +-} +-export namespace d { +- let e: number; +-} ++export var a = { x: "x" }; ++export var b = { x: "x" }; ++export var default = { x: "x" }; ++export var c = { x: "x" }; ++export var d = {}; ++export {}; + //// [mod2.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/namespaceAssignmentToRequireAlias.js b/testdata/baselines/reference/submodule/conformance/namespaceAssignmentToRequireAlias.js new file mode 100644 index 0000000000..afed9664a7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/namespaceAssignmentToRequireAlias.js @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/salsa/namespaceAssignmentToRequireAlias.ts] //// + +//// [index.js] +module.exports = {} + +//// [bug40140.js] +const u = require('untyped'); +u.assignment.nested = true +u.noError() + + + +//// [bug40140.js] +"use strict"; +const u = require('untyped'); +u.assignment.nested = true; +u.noError(); + + +//// [bug40140.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js new file mode 100644 index 0000000000..2d323ea43f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js @@ -0,0 +1,35 @@ +//// [tests/cases/conformance/salsa/nestedDestructuringOfRequire.ts] //// + +//// [mod1.js] +const chalk = { + grey: {} +}; +module.exports.chalk = chalk + +//// [main.js] +const { + chalk: { grey } +} = require('./mod1'); +grey +chalk + + +//// [mod1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const chalk = { + grey: {} +}; +export var chalk = chalk; +module.exports.chalk = chalk; +//// [main.js] +const { chalk: { grey } } = require('./mod1'); +grey; +chalk; + + +//// [mod1.d.ts] +export var chalk = chalk; +export {}; +//// [main.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff new file mode 100644 index 0000000000..4fdb156b6f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nestedDestructuringOfRequire.js.diff @@ -0,0 +1,26 @@ +--- old.nestedDestructuringOfRequire.js ++++ new.nestedDestructuringOfRequire.js +@@= skipped -14, +14 lines =@@ + + + //// [mod1.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + const chalk = { + grey: {} + }; ++export var chalk = chalk; + module.exports.chalk = chalk; + //// [main.js] + const { chalk: { grey } } = require('./mod1'); +@@= skipped -11, +14 lines =@@ + + + //// [mod1.d.ts] +-export namespace chalk { +- let grey: {}; +-} ++export var chalk = chalk; ++export {}; + //// [main.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node16).js new file mode 100644 index 0000000000..1498e98d79 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node16).js @@ -0,0 +1,77 @@ +//// [tests/cases/conformance/node/allowJs/nodeAllowJsPackageSelfName.ts] //// + +//// [index.js] +// esm format file +import * as self from "package"; +self; +//// [index.mjs] +// esm format file +import * as self from "package"; +self; +//// [index.cjs] +// esm format file +import * as self from "package"; +self; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": "./index.js" +} + +//// [index.js] +// esm format file +import * as self from "package"; +self; +//// [index.mjs] +// esm format file +import * as self from "package"; +self; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const self = __importStar(require("package")); +self; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node18).js new file mode 100644 index 0000000000..b7f552a39e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node18).js @@ -0,0 +1,48 @@ +//// [tests/cases/conformance/node/allowJs/nodeAllowJsPackageSelfName.ts] //// + +//// [index.js] +// esm format file +import * as self from "package"; +self; +//// [index.mjs] +// esm format file +import * as self from "package"; +self; +//// [index.cjs] +// esm format file +import * as self from "package"; +self; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": "./index.js" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const self = require("package"); +self; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const self = require("package"); +self; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const self = require("package"); +self; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node18).js.diff new file mode 100644 index 0000000000..ebf8f5bd1d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=node18).js.diff @@ -0,0 +1,60 @@ +--- old.nodeAllowJsPackageSelfName(module=node18).js ++++ new.nodeAllowJsPackageSelfName(module=node18).js +@@= skipped -20, +20 lines =@@ + } + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as self from "package"; ++const self = require("package"); + self; + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as self from "package"; ++const self = require("package"); + self; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-const self = __importStar(require("package")); ++const self = require("package"); + self; + diff --git a/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=nodenext).js new file mode 100644 index 0000000000..1498e98d79 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName(module=nodenext).js @@ -0,0 +1,77 @@ +//// [tests/cases/conformance/node/allowJs/nodeAllowJsPackageSelfName.ts] //// + +//// [index.js] +// esm format file +import * as self from "package"; +self; +//// [index.mjs] +// esm format file +import * as self from "package"; +self; +//// [index.cjs] +// esm format file +import * as self from "package"; +self; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": "./index.js" +} + +//// [index.js] +// esm format file +import * as self from "package"; +self; +//// [index.mjs] +// esm format file +import * as self from "package"; +self; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const self = __importStar(require("package")); +self; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName2.js b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName2.js new file mode 100644 index 0000000000..442ceae610 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName2.js @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/node/allowJs/nodeAllowJsPackageSelfName2.ts] //// + +//// [package.json] +{ + "name": "js-self-name-import", + "type": "module", + "exports": { + "./*": { + "types": "./types/src/*", + "default": "./src/*" + } + } +} + +//// [foo.d.ts] +export const foo: 1; + +//// [foo.d.ts] +export {}; + +//// [foo.js] +export const foo = 1; + +//// [foo.js] +import { foo } from "js-self-name-import/foo.js"; + + + + +//// [foo.d.ts] +export declare const foo = 1; +//// [foo.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName2.js.diff b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName2.js.diff new file mode 100644 index 0000000000..db1c08340f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeAllowJsPackageSelfName2.js.diff @@ -0,0 +1,10 @@ +--- old.nodeAllowJsPackageSelfName2.js ++++ new.nodeAllowJsPackageSelfName2.js +@@= skipped -27, +27 lines =@@ + + + //// [foo.d.ts] +-export const foo: 1; ++export declare const foo = 1; + //// [foo.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node16).js new file mode 100644 index 0000000000..3ce5147557 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node16).js @@ -0,0 +1,722 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJs1.ts] //// + +//// [index.js] +// cjs format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +// cjs format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +// esm format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones shouldn't all work - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export {x}; +//// [index.cjs] +// ESM-format imports below should issue errors +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should all fail - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); + +// esm format file +const x = 1; +export {x}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [package.json] +{ +} +//// [package.json] +{ + "type": "module" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +// esm format file +const x = 1; +export { x }; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +// esm format file +const x = 1; +export { x }; +//// [index.js] +// esm format file +const x = 1; +export { x }; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +// esm format file +const x = 1; +export { x }; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// ESM-format imports below should issue errors +const m1 = __importStar(require("./index.js")); +const m2 = __importStar(require("./index.mjs")); +const m3 = __importStar(require("./index.cjs")); +const m4 = __importStar(require("./subfolder/index.js")); +const m5 = __importStar(require("./subfolder/index.mjs")); +const m6 = __importStar(require("./subfolder/index.cjs")); +const m7 = __importStar(require("./subfolder2/index.js")); +const m8 = __importStar(require("./subfolder2/index.mjs")); +const m9 = __importStar(require("./subfolder2/index.cjs")); +const m10 = __importStar(require("./subfolder2/another/index.js")); +const m11 = __importStar(require("./subfolder2/another/index.mjs")); +const m12 = __importStar(require("./subfolder2/another/index.cjs")); +// The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +const m13 = __importStar(require("./")); +const m14 = __importStar(require("./index")); +const m15 = __importStar(require("./subfolder")); +const m16 = __importStar(require("./subfolder/")); +const m17 = __importStar(require("./subfolder/index")); +const m18 = __importStar(require("./subfolder2")); +const m19 = __importStar(require("./subfolder2/")); +const m20 = __importStar(require("./subfolder2/index")); +const m21 = __importStar(require("./subfolder2/another")); +const m22 = __importStar(require("./subfolder2/another/")); +const m23 = __importStar(require("./subfolder2/another/index")); +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = require("./"); +const m25 = require("./index"); +const m26 = require("./subfolder"); +const m27 = require("./subfolder/"); +const m28 = require("./subfolder/index"); +const m29 = require("./subfolder2"); +const m30 = require("./subfolder2/"); +const m31 = require("./subfolder2/index"); +const m32 = require("./subfolder2/another"); +const m33 = require("./subfolder2/another/"); +const m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should all fail - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = __require("./"); +const m25 = __require("./index"); +const m26 = __require("./subfolder"); +const m27 = __require("./subfolder/"); +const m28 = __require("./subfolder/index"); +const m29 = __require("./subfolder2"); +const m30 = __require("./subfolder2/"); +const m31 = __require("./subfolder2/index"); +const m32 = __require("./subfolder2/another"); +const m33 = __require("./subfolder2/another/"); +const m34 = __require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export { x }; +//// [index.js] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones shouldn't all work - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = __require("./"); +const m25 = __require("./index"); +const m26 = __require("./subfolder"); +const m27 = __require("./subfolder/"); +const m28 = __require("./subfolder/index"); +const m29 = __require("./subfolder2"); +const m30 = __require("./subfolder2/"); +const m31 = __require("./subfolder2/index"); +const m32 = __require("./subfolder2/another"); +const m33 = __require("./subfolder2/another/"); +const m34 = __require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export { x }; + + +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node16).js.diff new file mode 100644 index 0000000000..dc8b4cc91f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node16).js.diff @@ -0,0 +1,76 @@ +--- old.nodeModulesAllowJs1(module=node16).js ++++ new.nodeModulesAllowJs1(module=node16).js +@@= skipped -672, +672 lines =@@ + + + //// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x = 1; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node18).js new file mode 100644 index 0000000000..fceee457d1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node18).js @@ -0,0 +1,703 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJs1.ts] //// + +//// [index.js] +// cjs format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +// cjs format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +// esm format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones shouldn't all work - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export {x}; +//// [index.cjs] +// ESM-format imports below should issue errors +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should all fail - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); + +// esm format file +const x = 1; +export {x}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [package.json] +{ +} +//// [package.json] +{ + "type": "module" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// esm format file +const x = 1; +exports.x = x; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// esm format file +const x = 1; +exports.x = x; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// esm format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// esm format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// ESM-format imports below should issue errors +const m1 = require("./index.js"); +const m2 = require("./index.mjs"); +const m3 = require("./index.cjs"); +const m4 = require("./subfolder/index.js"); +const m5 = require("./subfolder/index.mjs"); +const m6 = require("./subfolder/index.cjs"); +const m7 = require("./subfolder2/index.js"); +const m8 = require("./subfolder2/index.mjs"); +const m9 = require("./subfolder2/index.cjs"); +const m10 = require("./subfolder2/another/index.js"); +const m11 = require("./subfolder2/another/index.mjs"); +const m12 = require("./subfolder2/another/index.cjs"); +// The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +const m13 = require("./"); +const m14 = require("./index"); +const m15 = require("./subfolder"); +const m16 = require("./subfolder/"); +const m17 = require("./subfolder/index"); +const m18 = require("./subfolder2"); +const m19 = require("./subfolder2/"); +const m20 = require("./subfolder2/index"); +const m21 = require("./subfolder2/another"); +const m22 = require("./subfolder2/another/"); +const m23 = require("./subfolder2/another/index"); +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = require("./"); +const m25 = require("./index"); +const m26 = require("./subfolder"); +const m27 = require("./subfolder/"); +const m28 = require("./subfolder/index"); +const m29 = require("./subfolder2"); +const m30 = require("./subfolder2/"); +const m31 = require("./subfolder2/index"); +const m32 = require("./subfolder2/another"); +const m33 = require("./subfolder2/another/"); +const m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +const m1 = require("./index.js"); +const m2 = require("./index.mjs"); +const m3 = require("./index.cjs"); +const m4 = require("./subfolder/index.js"); +const m5 = require("./subfolder/index.mjs"); +const m6 = require("./subfolder/index.cjs"); +const m7 = require("./subfolder2/index.js"); +const m8 = require("./subfolder2/index.mjs"); +const m9 = require("./subfolder2/index.cjs"); +const m10 = require("./subfolder2/another/index.js"); +const m11 = require("./subfolder2/another/index.mjs"); +const m12 = require("./subfolder2/another/index.cjs"); +// The next ones should all fail - esm format files have no index resolution or extension resolution +const m13 = require("./"); +const m14 = require("./index"); +const m15 = require("./subfolder"); +const m16 = require("./subfolder/"); +const m17 = require("./subfolder/index"); +const m18 = require("./subfolder2"); +const m19 = require("./subfolder2/"); +const m20 = require("./subfolder2/index"); +const m21 = require("./subfolder2/another"); +const m22 = require("./subfolder2/another/"); +const m23 = require("./subfolder2/another/index"); +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = require("./"); +const m25 = require("./index"); +const m26 = require("./subfolder"); +const m27 = require("./subfolder/"); +const m28 = require("./subfolder/index"); +const m29 = require("./subfolder2"); +const m30 = require("./subfolder2/"); +const m31 = require("./subfolder2/index"); +const m32 = require("./subfolder2/another"); +const m33 = require("./subfolder2/another/"); +const m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +exports.x = x; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +const m1 = require("./index.js"); +const m2 = require("./index.mjs"); +const m3 = require("./index.cjs"); +const m4 = require("./subfolder/index.js"); +const m5 = require("./subfolder/index.mjs"); +const m6 = require("./subfolder/index.cjs"); +const m7 = require("./subfolder2/index.js"); +const m8 = require("./subfolder2/index.mjs"); +const m9 = require("./subfolder2/index.cjs"); +const m10 = require("./subfolder2/another/index.js"); +const m11 = require("./subfolder2/another/index.mjs"); +const m12 = require("./subfolder2/another/index.cjs"); +// The next ones shouldn't all work - esm format files have no index resolution or extension resolution +const m13 = require("./"); +const m14 = require("./index"); +const m15 = require("./subfolder"); +const m16 = require("./subfolder/"); +const m17 = require("./subfolder/index"); +const m18 = require("./subfolder2"); +const m19 = require("./subfolder2/"); +const m20 = require("./subfolder2/index"); +const m21 = require("./subfolder2/another"); +const m22 = require("./subfolder2/another/"); +const m23 = require("./subfolder2/another/index"); +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = require("./"); +const m25 = require("./index"); +const m26 = require("./subfolder"); +const m27 = require("./subfolder/"); +const m28 = require("./subfolder/index"); +const m29 = require("./subfolder2"); +const m30 = require("./subfolder2/"); +const m31 = require("./subfolder2/index"); +const m32 = require("./subfolder2/another"); +const m33 = require("./subfolder2/another/"); +const m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +exports.x = x; + + +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node18).js.diff new file mode 100644 index 0000000000..1dddd2bd27 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=node18).js.diff @@ -0,0 +1,441 @@ +--- old.nodeModulesAllowJs1(module=node18).js ++++ new.nodeModulesAllowJs1(module=node18).js +@@= skipped -334, +334 lines =@@ + const x = 1; + exports.x = x; + //// [index.mjs] +-// esm format file +-const x = 1; +-export { x }; +-//// [index.js] +-"use strict"; +-Object.defineProperty(exports, "__esModule", { value: true }); +-exports.x = void 0; +-// cjs format file +-const x = 1; +-exports.x = x; +-//// [index.cjs] +-"use strict"; +-Object.defineProperty(exports, "__esModule", { value: true }); +-exports.x = void 0; +-// cjs format file +-const x = 1; +-exports.x = x; +-//// [index.mjs] +-// esm format file +-const x = 1; +-export { x }; +-//// [index.js] +-// esm format file +-const x = 1; +-export { x }; +-//// [index.cjs] +-"use strict"; +-Object.defineProperty(exports, "__esModule", { value: true }); +-exports.x = void 0; +-// cjs format file +-const x = 1; +-exports.x = x; +-//// [index.mjs] +-// esm format file +-const x = 1; +-export { x }; +-//// [index.cjs] +-"use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// esm format file ++const x = 1; ++exports.x = x; ++//// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// cjs format file ++const x = 1; ++exports.x = x; ++//// [index.cjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// cjs format file ++const x = 1; ++exports.x = x; ++//// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// esm format file ++const x = 1; ++exports.x = x; ++//// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// esm format file ++const x = 1; ++exports.x = x; ++//// [index.cjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// cjs format file ++const x = 1; ++exports.x = x; ++//// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++// esm format file ++const x = 1; ++exports.x = x; ++//// [index.cjs] ++"use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.x = void 0; + // ESM-format imports below should issue errors +-const m1 = __importStar(require("./index.js")); +-const m2 = __importStar(require("./index.mjs")); +-const m3 = __importStar(require("./index.cjs")); +-const m4 = __importStar(require("./subfolder/index.js")); +-const m5 = __importStar(require("./subfolder/index.mjs")); +-const m6 = __importStar(require("./subfolder/index.cjs")); +-const m7 = __importStar(require("./subfolder2/index.js")); +-const m8 = __importStar(require("./subfolder2/index.mjs")); +-const m9 = __importStar(require("./subfolder2/index.cjs")); +-const m10 = __importStar(require("./subfolder2/another/index.js")); +-const m11 = __importStar(require("./subfolder2/another/index.mjs")); +-const m12 = __importStar(require("./subfolder2/another/index.cjs")); ++const m1 = require("./index.js"); ++const m2 = require("./index.mjs"); ++const m3 = require("./index.cjs"); ++const m4 = require("./subfolder/index.js"); ++const m5 = require("./subfolder/index.mjs"); ++const m6 = require("./subfolder/index.cjs"); ++const m7 = require("./subfolder2/index.js"); ++const m8 = require("./subfolder2/index.mjs"); ++const m9 = require("./subfolder2/index.cjs"); ++const m10 = require("./subfolder2/another/index.js"); ++const m11 = require("./subfolder2/another/index.mjs"); ++const m12 = require("./subfolder2/another/index.cjs"); + // The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +-const m13 = __importStar(require("./")); +-const m14 = __importStar(require("./index")); +-const m15 = __importStar(require("./subfolder")); +-const m16 = __importStar(require("./subfolder/")); +-const m17 = __importStar(require("./subfolder/index")); +-const m18 = __importStar(require("./subfolder2")); +-const m19 = __importStar(require("./subfolder2/")); +-const m20 = __importStar(require("./subfolder2/index")); +-const m21 = __importStar(require("./subfolder2/another")); +-const m22 = __importStar(require("./subfolder2/another/")); +-const m23 = __importStar(require("./subfolder2/another/index")); ++const m13 = require("./"); ++const m14 = require("./index"); ++const m15 = require("./subfolder"); ++const m16 = require("./subfolder/"); ++const m17 = require("./subfolder/index"); ++const m18 = require("./subfolder2"); ++const m19 = require("./subfolder2/"); ++const m20 = require("./subfolder2/index"); ++const m21 = require("./subfolder2/another"); ++const m22 = require("./subfolder2/another/"); ++const m23 = require("./subfolder2/another/index"); + void m1; + void m2; + void m3; +@@= skipped -160, +139 lines =@@ + const x = 1; + exports.x = x; + //// [index.mjs] +-import { createRequire as _createRequire } from "module"; +-const __require = _createRequire(import.meta.url); +-import * as m1 from "./index.js"; +-import * as m2 from "./index.mjs"; +-import * as m3 from "./index.cjs"; +-import * as m4 from "./subfolder/index.js"; +-import * as m5 from "./subfolder/index.mjs"; +-import * as m6 from "./subfolder/index.cjs"; +-import * as m7 from "./subfolder2/index.js"; +-import * as m8 from "./subfolder2/index.mjs"; +-import * as m9 from "./subfolder2/index.cjs"; +-import * as m10 from "./subfolder2/another/index.js"; +-import * as m11 from "./subfolder2/another/index.mjs"; +-import * as m12 from "./subfolder2/another/index.cjs"; ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++const m1 = require("./index.js"); ++const m2 = require("./index.mjs"); ++const m3 = require("./index.cjs"); ++const m4 = require("./subfolder/index.js"); ++const m5 = require("./subfolder/index.mjs"); ++const m6 = require("./subfolder/index.cjs"); ++const m7 = require("./subfolder2/index.js"); ++const m8 = require("./subfolder2/index.mjs"); ++const m9 = require("./subfolder2/index.cjs"); ++const m10 = require("./subfolder2/another/index.js"); ++const m11 = require("./subfolder2/another/index.mjs"); ++const m12 = require("./subfolder2/another/index.cjs"); + // The next ones should all fail - esm format files have no index resolution or extension resolution +-import * as m13 from "./"; +-import * as m14 from "./index"; +-import * as m15 from "./subfolder"; +-import * as m16 from "./subfolder/"; +-import * as m17 from "./subfolder/index"; +-import * as m18 from "./subfolder2"; +-import * as m19 from "./subfolder2/"; +-import * as m20 from "./subfolder2/index"; +-import * as m21 from "./subfolder2/another"; +-import * as m22 from "./subfolder2/another/"; +-import * as m23 from "./subfolder2/another/index"; ++const m13 = require("./"); ++const m14 = require("./index"); ++const m15 = require("./subfolder"); ++const m16 = require("./subfolder/"); ++const m17 = require("./subfolder/index"); ++const m18 = require("./subfolder2"); ++const m19 = require("./subfolder2/"); ++const m20 = require("./subfolder2/index"); ++const m21 = require("./subfolder2/another"); ++const m22 = require("./subfolder2/another/"); ++const m23 = require("./subfolder2/another/index"); + void m1; + void m2; + void m3; +@@= skipped -50, +51 lines =@@ + void m22; + void m23; + // These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +-const m24 = __require("./"); +-const m25 = __require("./index"); +-const m26 = __require("./subfolder"); +-const m27 = __require("./subfolder/"); +-const m28 = __require("./subfolder/index"); +-const m29 = __require("./subfolder2"); +-const m30 = __require("./subfolder2/"); +-const m31 = __require("./subfolder2/index"); +-const m32 = __require("./subfolder2/another"); +-const m33 = __require("./subfolder2/another/"); +-const m34 = __require("./subfolder2/another/index"); ++const m24 = require("./"); ++const m25 = require("./index"); ++const m26 = require("./subfolder"); ++const m27 = require("./subfolder/"); ++const m28 = require("./subfolder/index"); ++const m29 = require("./subfolder2"); ++const m30 = require("./subfolder2/"); ++const m31 = require("./subfolder2/index"); ++const m32 = require("./subfolder2/another"); ++const m33 = require("./subfolder2/another/"); ++const m34 = require("./subfolder2/another/index"); + void m24; + void m25; + void m26; +@@= skipped -36, +36 lines =@@ + const _m45 = import("./subfolder2/another/index"); + // esm format file + const x = 1; +-export { x }; ++exports.x = x; + //// [index.js] +-import { createRequire as _createRequire } from "module"; +-const __require = _createRequire(import.meta.url); +-import * as m1 from "./index.js"; +-import * as m2 from "./index.mjs"; +-import * as m3 from "./index.cjs"; +-import * as m4 from "./subfolder/index.js"; +-import * as m5 from "./subfolder/index.mjs"; +-import * as m6 from "./subfolder/index.cjs"; +-import * as m7 from "./subfolder2/index.js"; +-import * as m8 from "./subfolder2/index.mjs"; +-import * as m9 from "./subfolder2/index.cjs"; +-import * as m10 from "./subfolder2/another/index.js"; +-import * as m11 from "./subfolder2/another/index.mjs"; +-import * as m12 from "./subfolder2/another/index.cjs"; ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; ++const m1 = require("./index.js"); ++const m2 = require("./index.mjs"); ++const m3 = require("./index.cjs"); ++const m4 = require("./subfolder/index.js"); ++const m5 = require("./subfolder/index.mjs"); ++const m6 = require("./subfolder/index.cjs"); ++const m7 = require("./subfolder2/index.js"); ++const m8 = require("./subfolder2/index.mjs"); ++const m9 = require("./subfolder2/index.cjs"); ++const m10 = require("./subfolder2/another/index.js"); ++const m11 = require("./subfolder2/another/index.mjs"); ++const m12 = require("./subfolder2/another/index.cjs"); + // The next ones shouldn't all work - esm format files have no index resolution or extension resolution +-import * as m13 from "./"; +-import * as m14 from "./index"; +-import * as m15 from "./subfolder"; +-import * as m16 from "./subfolder/"; +-import * as m17 from "./subfolder/index"; +-import * as m18 from "./subfolder2"; +-import * as m19 from "./subfolder2/"; +-import * as m20 from "./subfolder2/index"; +-import * as m21 from "./subfolder2/another"; +-import * as m22 from "./subfolder2/another/"; +-import * as m23 from "./subfolder2/another/index"; ++const m13 = require("./"); ++const m14 = require("./index"); ++const m15 = require("./subfolder"); ++const m16 = require("./subfolder/"); ++const m17 = require("./subfolder/index"); ++const m18 = require("./subfolder2"); ++const m19 = require("./subfolder2/"); ++const m20 = require("./subfolder2/index"); ++const m21 = require("./subfolder2/another"); ++const m22 = require("./subfolder2/another/"); ++const m23 = require("./subfolder2/another/index"); + void m1; + void m2; + void m3; +@@= skipped -52, +53 lines =@@ + void m22; + void m23; + // These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +-const m24 = __require("./"); +-const m25 = __require("./index"); +-const m26 = __require("./subfolder"); +-const m27 = __require("./subfolder/"); +-const m28 = __require("./subfolder/index"); +-const m29 = __require("./subfolder2"); +-const m30 = __require("./subfolder2/"); +-const m31 = __require("./subfolder2/index"); +-const m32 = __require("./subfolder2/another"); +-const m33 = __require("./subfolder2/another/"); +-const m34 = __require("./subfolder2/another/index"); ++const m24 = require("./"); ++const m25 = require("./index"); ++const m26 = require("./subfolder"); ++const m27 = require("./subfolder/"); ++const m28 = require("./subfolder/index"); ++const m29 = require("./subfolder2"); ++const m30 = require("./subfolder2/"); ++const m31 = require("./subfolder2/index"); ++const m32 = require("./subfolder2/another"); ++const m33 = require("./subfolder2/another/"); ++const m34 = require("./subfolder2/another/index"); + void m24; + void m25; + void m26; +@@= skipped -36, +36 lines =@@ + const _m45 = import("./subfolder2/another/index"); + // esm format file + const x = 1; +-export { x }; +- +- +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; ++exports.x = x; ++ ++ ++//// [index.d.ts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x = 1; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=nodenext).js new file mode 100644 index 0000000000..3ce5147557 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=nodenext).js @@ -0,0 +1,722 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJs1.ts] //// + +//// [index.js] +// cjs format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +// cjs format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +// esm format file +const x = 1; +export {x}; +//// [index.cjs] +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +// esm format file +const x = 1; +export {x}; +//// [index.js] +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones shouldn't all work - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export {x}; +//// [index.cjs] +// ESM-format imports below should issue errors +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// cjs format file +const x = 1; +export {x}; +//// [index.mjs] +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should all fail - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; + +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +import m24 = require("./"); +import m25 = require("./index"); +import m26 = require("./subfolder"); +import m27 = require("./subfolder/"); +import m28 = require("./subfolder/index"); +import m29 = require("./subfolder2"); +import m30 = require("./subfolder2/"); +import m31 = require("./subfolder2/index"); +import m32 = require("./subfolder2/another"); +import m33 = require("./subfolder2/another/"); +import m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; + +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); + +// esm format file +const x = 1; +export {x}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [package.json] +{ +} +//// [package.json] +{ + "type": "module" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +// esm format file +const x = 1; +export { x }; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +// esm format file +const x = 1; +export { x }; +//// [index.js] +// esm format file +const x = 1; +export { x }; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +// esm format file +const x = 1; +export { x }; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// ESM-format imports below should issue errors +const m1 = __importStar(require("./index.js")); +const m2 = __importStar(require("./index.mjs")); +const m3 = __importStar(require("./index.cjs")); +const m4 = __importStar(require("./subfolder/index.js")); +const m5 = __importStar(require("./subfolder/index.mjs")); +const m6 = __importStar(require("./subfolder/index.cjs")); +const m7 = __importStar(require("./subfolder2/index.js")); +const m8 = __importStar(require("./subfolder2/index.mjs")); +const m9 = __importStar(require("./subfolder2/index.cjs")); +const m10 = __importStar(require("./subfolder2/another/index.js")); +const m11 = __importStar(require("./subfolder2/another/index.mjs")); +const m12 = __importStar(require("./subfolder2/another/index.cjs")); +// The next ones should _mostly_ work - cjs format files have index resolution and extension resolution (except for those which resolve to an esm format file) +const m13 = __importStar(require("./")); +const m14 = __importStar(require("./index")); +const m15 = __importStar(require("./subfolder")); +const m16 = __importStar(require("./subfolder/")); +const m17 = __importStar(require("./subfolder/index")); +const m18 = __importStar(require("./subfolder2")); +const m19 = __importStar(require("./subfolder2/")); +const m20 = __importStar(require("./subfolder2/index")); +const m21 = __importStar(require("./subfolder2/another")); +const m22 = __importStar(require("./subfolder2/another/")); +const m23 = __importStar(require("./subfolder2/another/index")); +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = require("./"); +const m25 = require("./index"); +const m26 = require("./subfolder"); +const m27 = require("./subfolder/"); +const m28 = require("./subfolder/index"); +const m29 = require("./subfolder2"); +const m30 = require("./subfolder2/"); +const m31 = require("./subfolder2/index"); +const m32 = require("./subfolder2/another"); +const m33 = require("./subfolder2/another/"); +const m34 = require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// cjs format file +const x = 1; +exports.x = x; +//// [index.mjs] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones should all fail - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = __require("./"); +const m25 = __require("./index"); +const m26 = __require("./subfolder"); +const m27 = __require("./subfolder/"); +const m28 = __require("./subfolder/index"); +const m29 = __require("./subfolder2"); +const m30 = __require("./subfolder2/"); +const m31 = __require("./subfolder2/index"); +const m32 = __require("./subfolder2/another"); +const m33 = __require("./subfolder2/another/"); +const m34 = __require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export { x }; +//// [index.js] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +import * as m1 from "./index.js"; +import * as m2 from "./index.mjs"; +import * as m3 from "./index.cjs"; +import * as m4 from "./subfolder/index.js"; +import * as m5 from "./subfolder/index.mjs"; +import * as m6 from "./subfolder/index.cjs"; +import * as m7 from "./subfolder2/index.js"; +import * as m8 from "./subfolder2/index.mjs"; +import * as m9 from "./subfolder2/index.cjs"; +import * as m10 from "./subfolder2/another/index.js"; +import * as m11 from "./subfolder2/another/index.mjs"; +import * as m12 from "./subfolder2/another/index.cjs"; +// The next ones shouldn't all work - esm format files have no index resolution or extension resolution +import * as m13 from "./"; +import * as m14 from "./index"; +import * as m15 from "./subfolder"; +import * as m16 from "./subfolder/"; +import * as m17 from "./subfolder/index"; +import * as m18 from "./subfolder2"; +import * as m19 from "./subfolder2/"; +import * as m20 from "./subfolder2/index"; +import * as m21 from "./subfolder2/another"; +import * as m22 from "./subfolder2/another/"; +import * as m23 from "./subfolder2/another/index"; +void m1; +void m2; +void m3; +void m4; +void m5; +void m6; +void m7; +void m8; +void m9; +void m10; +void m11; +void m12; +void m13; +void m14; +void m15; +void m16; +void m17; +void m18; +void m19; +void m20; +void m21; +void m22; +void m23; +// These should _mostly_ work - `import = require` always desugars to require calls, which do have extension and index resolution (but can't load anything that resolves to esm!) +const m24 = __require("./"); +const m25 = __require("./index"); +const m26 = __require("./subfolder"); +const m27 = __require("./subfolder/"); +const m28 = __require("./subfolder/index"); +const m29 = __require("./subfolder2"); +const m30 = __require("./subfolder2/"); +const m31 = __require("./subfolder2/index"); +const m32 = __require("./subfolder2/another"); +const m33 = __require("./subfolder2/another/"); +const m34 = __require("./subfolder2/another/index"); +void m24; +void m25; +void m26; +void m27; +void m28; +void m29; +void m30; +void m31; +void m32; +void m33; +void m34; +// These shouldn't work - dynamic `import()` always uses the esm resolver, which does not have extension resolution +const _m35 = import("./"); +const _m36 = import("./index"); +const _m37 = import("./subfolder"); +const _m38 = import("./subfolder/"); +const _m39 = import("./subfolder/index"); +const _m40 = import("./subfolder2"); +const _m41 = import("./subfolder2/"); +const _m42 = import("./subfolder2/index"); +const _m43 = import("./subfolder2/another"); +const _m44 = import("./subfolder2/another/"); +const _m45 = import("./subfolder2/another/index"); +// esm format file +const x = 1; +export { x }; + + +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.cts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.mts] +// esm format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=nodenext).js.diff new file mode 100644 index 0000000000..6022234b81 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJs1(module=nodenext).js.diff @@ -0,0 +1,76 @@ +--- old.nodeModulesAllowJs1(module=nodenext).js ++++ new.nodeModulesAllowJs1(module=nodenext).js +@@= skipped -672, +672 lines =@@ + + + //// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.cts] +-export const x: 1; +-//// [index.d.mts] +-export const x: 1; +-//// [index.d.ts] +-export const x: 1; ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.cts] ++// cjs format file ++declare const x = 1; ++export { x }; ++//// [index.d.mts] ++// esm format file ++declare const x = 1; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x = 1; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node16).js new file mode 100644 index 0000000000..89094051db --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node16).js @@ -0,0 +1,215 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsConditionalPackageExports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.cjs] +// cjs format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.cjsSource; +mjsi.cjsSource; +typei.implicitCjsSource; +ts.cjsSource; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const implicitCjsSource = true; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const mjsSource = true; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const cjsSource = true; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./a": { + "require": "./index.cjs", + "node": "./index.mjs" + }, + "./b": { + "import": "./index.mjs", + "node": "./index.cjs" + }, + ".": { + "import": "./index.mjs", + "node": "./index.js" + }, + "./types": { + "types": { + "import": "./index.d.mts", + "require": "./index.d.cts", + }, + "node": { + "import": "./index.mjs", + "require": "./index.cjs" + } + } + } +} + +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjs = __importStar(require("package/cjs")); +const mjs = __importStar(require("package/mjs")); +const type = __importStar(require("package")); +cjs; +mjs; +type; +const cjsi = __importStar(require("inner/a")); +const mjsi = __importStar(require("inner/b")); +const typei = __importStar(require("inner")); +const ts = __importStar(require("inner/types")); +cjsi.cjsSource; +mjsi.cjsSource; +typei.implicitCjsSource; +ts.cjsSource; +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node18).js new file mode 100644 index 0000000000..0099063304 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node18).js @@ -0,0 +1,186 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsConditionalPackageExports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.cjs] +// cjs format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.cjsSource; +mjsi.cjsSource; +typei.implicitCjsSource; +ts.cjsSource; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const implicitCjsSource = true; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const mjsSource = true; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const cjsSource = true; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./a": { + "require": "./index.cjs", + "node": "./index.mjs" + }, + "./b": { + "import": "./index.mjs", + "node": "./index.cjs" + }, + ".": { + "import": "./index.mjs", + "node": "./index.js" + }, + "./types": { + "types": { + "import": "./index.d.mts", + "require": "./index.d.cts", + }, + "node": { + "import": "./index.mjs", + "require": "./index.cjs" + } + } + } +} + +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("package/cjs"); +const mjs = require("package/mjs"); +const type = require("package"); +cjs; +mjs; +type; +const cjsi = require("inner/a"); +const mjsi = require("inner/b"); +const typei = require("inner"); +const ts = require("inner/types"); +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjs = require("package/cjs"); +const mjs = require("package/mjs"); +const type = require("package"); +cjs; +mjs; +type; +const cjsi = require("inner/a"); +const mjsi = require("inner/b"); +const typei = require("inner"); +const ts = require("inner/types"); +cjsi.cjsSource; +mjsi.cjsSource; +typei.implicitCjsSource; +ts.cjsSource; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("package/cjs"); +const mjs = require("package/mjs"); +const type = require("package"); +cjs; +mjs; +type; +const cjsi = require("inner/a"); +const mjsi = require("inner/b"); +const typei = require("inner"); +const ts = require("inner/types"); +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node18).js.diff new file mode 100644 index 0000000000..852ec6e844 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=node18).js.diff @@ -0,0 +1,112 @@ +--- old.nodeModulesAllowJsConditionalPackageExports(module=node18).js ++++ new.nodeModulesAllowJsConditionalPackageExports(module=node18).js +@@= skipped -122, +122 lines =@@ + } + + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjs from "package/cjs"; +-import * as mjs from "package/mjs"; +-import * as type from "package"; ++const cjs = require("package/cjs"); ++const mjs = require("package/mjs"); ++const type = require("package"); + cjs; + mjs; + type; +-import * as cjsi from "inner/a"; +-import * as mjsi from "inner/b"; +-import * as typei from "inner"; +-import * as ts from "inner/types"; ++const cjsi = require("inner/a"); ++const mjsi = require("inner/b"); ++const typei = require("inner"); ++const ts = require("inner/types"); + cjsi.mjsSource; + mjsi.mjsSource; + typei.mjsSource; + ts.mjsSource; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file +-const cjs = __importStar(require("package/cjs")); +-const mjs = __importStar(require("package/mjs")); +-const type = __importStar(require("package")); ++const cjs = require("package/cjs"); ++const mjs = require("package/mjs"); ++const type = require("package"); + cjs; + mjs; + type; +-const cjsi = __importStar(require("inner/a")); +-const mjsi = __importStar(require("inner/b")); +-const typei = __importStar(require("inner")); +-const ts = __importStar(require("inner/types")); ++const cjsi = require("inner/a"); ++const mjsi = require("inner/b"); ++const typei = require("inner"); ++const ts = require("inner/types"); + cjsi.cjsSource; + mjsi.cjsSource; + typei.implicitCjsSource; + ts.cjsSource; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjs from "package/cjs"; +-import * as mjs from "package/mjs"; +-import * as type from "package"; ++const cjs = require("package/cjs"); ++const mjs = require("package/mjs"); ++const type = require("package"); + cjs; + mjs; + type; +-import * as cjsi from "inner/a"; +-import * as mjsi from "inner/b"; +-import * as typei from "inner"; +-import * as ts from "inner/types"; ++const cjsi = require("inner/a"); ++const mjsi = require("inner/b"); ++const typei = require("inner"); ++const ts = require("inner/types"); + cjsi.mjsSource; + mjsi.mjsSource; + typei.mjsSource; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=nodenext).js new file mode 100644 index 0000000000..89094051db --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsConditionalPackageExports(module=nodenext).js @@ -0,0 +1,215 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsConditionalPackageExports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.cjs] +// cjs format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.cjsSource; +mjsi.cjsSource; +typei.implicitCjsSource; +ts.cjsSource; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const implicitCjsSource = true; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const mjsSource = true; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/a"; +import * as mjs from "inner/b"; +import * as type from "inner"; +import * as ts from "inner/types"; +export { cjs }; +export { mjs }; +export { type }; +export { ts }; +export const cjsSource = true; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./a": { + "require": "./index.cjs", + "node": "./index.mjs" + }, + "./b": { + "import": "./index.mjs", + "node": "./index.cjs" + }, + ".": { + "import": "./index.mjs", + "node": "./index.js" + }, + "./types": { + "types": { + "import": "./index.d.mts", + "require": "./index.d.cts", + }, + "node": { + "import": "./index.mjs", + "require": "./index.cjs" + } + } + } +} + +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjs = __importStar(require("package/cjs")); +const mjs = __importStar(require("package/mjs")); +const type = __importStar(require("package")); +cjs; +mjs; +type; +const cjsi = __importStar(require("inner/a")); +const mjsi = __importStar(require("inner/b")); +const typei = __importStar(require("inner")); +const ts = __importStar(require("inner/types")); +cjsi.cjsSource; +mjsi.cjsSource; +typei.implicitCjsSource; +ts.cjsSource; +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/a"; +import * as mjsi from "inner/b"; +import * as typei from "inner"; +import * as ts from "inner/types"; +cjsi.mjsSource; +mjsi.mjsSource; +typei.mjsSource; +ts.mjsSource; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node16).js new file mode 100644 index 0000000000..59027fbfed --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node16).js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsDynamicImport.ts] //// + +//// [index.js] +// cjs format file +export async function main() { + const { readFile } = await import("fs"); +} +//// [index.js] +// esm format file +export async function main() { + const { readFile } = await import("fs"); +} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.main = main; +// cjs format file +async function main() { + const { readFile } = await import("fs"); +} +//// [index.js] +// esm format file +export async function main() { + const { readFile } = await import("fs"); +} + + +//// [index.d.ts] +// cjs format file +export declare function main(): Promise; +//// [index.d.ts] +// esm format file +export declare function main(): Promise; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node16).js.diff new file mode 100644 index 0000000000..4cf1cec59b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node16).js.diff @@ -0,0 +1,13 @@ +--- old.nodeModulesAllowJsDynamicImport(module=node16).js ++++ new.nodeModulesAllowJsDynamicImport(module=node16).js +@@= skipped -38, +38 lines =@@ + + + //// [index.d.ts] +-export function main(): Promise; ++// cjs format file ++export declare function main(): Promise; + //// [index.d.ts] +-export function main(): Promise; ++// esm format file ++export declare function main(): Promise; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node18).js new file mode 100644 index 0000000000..a87bd0d5fa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node18).js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsDynamicImport.ts] //// + +//// [index.js] +// cjs format file +export async function main() { + const { readFile } = await import("fs"); +} +//// [index.js] +// esm format file +export async function main() { + const { readFile } = await import("fs"); +} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.main = main; +// cjs format file +async function main() { + const { readFile } = await import("fs"); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.main = main; +// esm format file +async function main() { + const { readFile } = await import("fs"); +} + + +//// [index.d.ts] +// cjs format file +export declare function main(): Promise; +//// [index.d.ts] +// esm format file +export declare function main(): Promise; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node18).js.diff new file mode 100644 index 0000000000..03676d80ce --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=node18).js.diff @@ -0,0 +1,24 @@ +--- old.nodeModulesAllowJsDynamicImport(module=node18).js ++++ new.nodeModulesAllowJsDynamicImport(module=node18).js +@@= skipped -31, +31 lines =@@ + const { readFile } = await import("fs"); + } + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.main = main; + // esm format file +-export async function main() { ++async function main() { + const { readFile } = await import("fs"); + } + + + //// [index.d.ts] +-export function main(): Promise; ++// cjs format file ++export declare function main(): Promise; + //// [index.d.ts] +-export function main(): Promise; ++// esm format file ++export declare function main(): Promise; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=nodenext).js new file mode 100644 index 0000000000..59027fbfed --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=nodenext).js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsDynamicImport.ts] //// + +//// [index.js] +// cjs format file +export async function main() { + const { readFile } = await import("fs"); +} +//// [index.js] +// esm format file +export async function main() { + const { readFile } = await import("fs"); +} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.main = main; +// cjs format file +async function main() { + const { readFile } = await import("fs"); +} +//// [index.js] +// esm format file +export async function main() { + const { readFile } = await import("fs"); +} + + +//// [index.d.ts] +// cjs format file +export declare function main(): Promise; +//// [index.d.ts] +// esm format file +export declare function main(): Promise; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=nodenext).js.diff new file mode 100644 index 0000000000..0833f73a55 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsDynamicImport(module=nodenext).js.diff @@ -0,0 +1,13 @@ +--- old.nodeModulesAllowJsDynamicImport(module=nodenext).js ++++ new.nodeModulesAllowJsDynamicImport(module=nodenext).js +@@= skipped -38, +38 lines =@@ + + + //// [index.d.ts] +-export function main(): Promise; ++// cjs format file ++export declare function main(): Promise; + //// [index.d.ts] +-export function main(): Promise; ++// esm format file ++export declare function main(): Promise; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js new file mode 100644 index 0000000000..a624f440af --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js @@ -0,0 +1,68 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsExportAssignment.ts] //// + +//// [index.js] +// cjs format file +const a = {}; +export = a; +//// [file.js] +// cjs format file +const a = {}; +module.exports = a; +//// [index.js] +// esm format file +const a = {}; +export = a; +//// [file.js] +// esm format file +import "fs"; +const a = {}; +module.exports = a; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +// cjs format file +const a = {}; +module.exports = a; +//// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const a = {}; +export = a; +module.exports = a; +//// [index.js] +// esm format file +const a = {}; +export {}; +//// [file.js] +// esm format file +import "fs"; +const a = {}; +export = a; +module.exports = a; + + +//// [index.d.ts] +// cjs format file +declare const a: {}; +export = a; +//// [file.d.ts] +export = a; +//// [index.d.ts] +// esm format file +declare const a: {}; +export = a; +//// [file.d.ts] +// esm format file +import "fs"; +export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff new file mode 100644 index 0000000000..cca093433d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff @@ -0,0 +1,39 @@ +--- old.nodeModulesAllowJsExportAssignment(module=node16).js ++++ new.nodeModulesAllowJsExportAssignment(module=node16).js +@@= skipped -34, +34 lines =@@ + module.exports = a; + //// [file.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file + const a = {}; ++export = a; + module.exports = a; + //// [index.js] + // esm format file +@@= skipped -11, +13 lines =@@ + // esm format file + import "fs"; + const a = {}; ++export = a; + module.exports = a; + + + //// [index.d.ts] +-export = a; ++// cjs format file + declare const a: {}; ++export = a; + //// [file.d.ts] + export = a; +-declare const a: {}; + //// [index.d.ts] +-export = a; ++// esm format file + declare const a: {}; ++export = a; + //// [file.d.ts] +-export {}; ++// esm format file ++import "fs"; ++export = a; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js new file mode 100644 index 0000000000..ce4449e488 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js @@ -0,0 +1,69 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsExportAssignment.ts] //// + +//// [index.js] +// cjs format file +const a = {}; +export = a; +//// [file.js] +// cjs format file +const a = {}; +module.exports = a; +//// [index.js] +// esm format file +const a = {}; +export = a; +//// [file.js] +// esm format file +import "fs"; +const a = {}; +module.exports = a; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +// cjs format file +const a = {}; +module.exports = a; +//// [file.js] +// cjs format file +const a = {}; +export = a; +module.exports = a; +//// [index.js] +"use strict"; +// esm format file +const a = {}; +module.exports = a; +//// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +require("fs"); +const a = {}; +export = a; +module.exports = a; + + +//// [index.d.ts] +// cjs format file +declare const a: {}; +export = a; +//// [file.d.ts] +export = a; +//// [index.d.ts] +// esm format file +declare const a: {}; +export = a; +//// [file.d.ts] +// esm format file +import "fs"; +export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff new file mode 100644 index 0000000000..0572935149 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff @@ -0,0 +1,56 @@ +--- old.nodeModulesAllowJsExportAssignment(module=node18).js ++++ new.nodeModulesAllowJsExportAssignment(module=node18).js +@@= skipped -33, +33 lines =@@ + const a = {}; + module.exports = a; + //// [file.js] +-"use strict"; + // cjs format file + const a = {}; ++export = a; + module.exports = a; + //// [index.js] ++"use strict"; + // esm format file + const a = {}; +-export {}; ++module.exports = a; + //// [file.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++// esm format file ++require("fs"); ++const a = {}; ++export = a; ++module.exports = a; ++ ++ ++//// [index.d.ts] ++// cjs format file ++declare const a: {}; ++export = a; ++//// [file.d.ts] ++export = a; ++//// [index.d.ts] ++// esm format file ++declare const a: {}; ++export = a; ++//// [file.d.ts] + // esm format file + import "fs"; +-const a = {}; +-module.exports = a; +- +- +-//// [index.d.ts] +-export = a; +-declare const a: {}; +-//// [file.d.ts] +-export = a; +-declare const a: {}; +-//// [index.d.ts] +-export = a; +-declare const a: {}; +-//// [file.d.ts] +-export {}; ++export = a; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js new file mode 100644 index 0000000000..a624f440af --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js @@ -0,0 +1,68 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsExportAssignment.ts] //// + +//// [index.js] +// cjs format file +const a = {}; +export = a; +//// [file.js] +// cjs format file +const a = {}; +module.exports = a; +//// [index.js] +// esm format file +const a = {}; +export = a; +//// [file.js] +// esm format file +import "fs"; +const a = {}; +module.exports = a; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +// cjs format file +const a = {}; +module.exports = a; +//// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const a = {}; +export = a; +module.exports = a; +//// [index.js] +// esm format file +const a = {}; +export {}; +//// [file.js] +// esm format file +import "fs"; +const a = {}; +export = a; +module.exports = a; + + +//// [index.d.ts] +// cjs format file +declare const a: {}; +export = a; +//// [file.d.ts] +export = a; +//// [index.d.ts] +// esm format file +declare const a: {}; +export = a; +//// [file.d.ts] +// esm format file +import "fs"; +export = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff new file mode 100644 index 0000000000..d5a87b21a9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff @@ -0,0 +1,39 @@ +--- old.nodeModulesAllowJsExportAssignment(module=nodenext).js ++++ new.nodeModulesAllowJsExportAssignment(module=nodenext).js +@@= skipped -34, +34 lines =@@ + module.exports = a; + //// [file.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file + const a = {}; ++export = a; + module.exports = a; + //// [index.js] + // esm format file +@@= skipped -11, +13 lines =@@ + // esm format file + import "fs"; + const a = {}; ++export = a; + module.exports = a; + + + //// [index.d.ts] +-export = a; ++// cjs format file + declare const a: {}; ++export = a; + //// [file.d.ts] + export = a; +-declare const a: {}; + //// [index.d.ts] +-export = a; ++// esm format file + declare const a: {}; ++export = a; + //// [file.d.ts] +-export {}; ++// esm format file ++import "fs"; ++export = a; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).js new file mode 100644 index 0000000000..e3ca6368e7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsExportlessJsModuleDetectionAuto.ts] //// + +//// [foo.cjs] +// this file is a module despite having no imports +//// [bar.js] +// however this file is _not_ a module + +//// [foo.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// this file is a module despite having no imports +//// [bar.js] +// however this file is _not_ a module diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node18).js new file mode 100644 index 0000000000..e3ca6368e7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node18).js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsExportlessJsModuleDetectionAuto.ts] //// + +//// [foo.cjs] +// this file is a module despite having no imports +//// [bar.js] +// however this file is _not_ a module + +//// [foo.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// this file is a module despite having no imports +//// [bar.js] +// however this file is _not_ a module diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).js new file mode 100644 index 0000000000..e3ca6368e7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsExportlessJsModuleDetectionAuto.ts] //// + +//// [foo.cjs] +// this file is a module despite having no imports +//// [bar.js] +// however this file is _not_ a module + +//// [foo.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// this file is a module despite having no imports +//// [bar.js] +// however this file is _not_ a module diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js new file mode 100644 index 0000000000..847c8e47c2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js @@ -0,0 +1,66 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsGeneratedNameCollisions.ts] //// + +//// [index.js] +// cjs format file +function require() {} +const exports = {}; +class Object {} +export const __esModule = false; +export {require, exports, Object}; +//// [index.js] +// esm format file +function require() {} +const exports = {}; +class Object {} +export const __esModule = false; +export {require, exports, Object}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; +// cjs format file +function require() { } +const exports = {}; +exports.exports = exports; +class Object { +} +exports.Object = Object; +exports.__esModule = false; +//// [index.js] +// esm format file +function require() { } +const exports = {}; +class Object { +} +export const __esModule = false; +export { require, exports, Object }; + + +//// [index.d.ts] +// cjs format file +declare function require(): void; +declare const exports: {}; +declare class Object { +} +export declare const __esModule = false; +export { require, exports, Object }; +//// [index.d.ts] +// esm format file +declare function require(): void; +declare const exports: {}; +declare class Object { +} +export declare const __esModule = false; +export { require, exports, Object }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js.diff new file mode 100644 index 0000000000..c57c88e9ff --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node16).js.diff @@ -0,0 +1,29 @@ +--- old.nodeModulesAllowJsGeneratedNameCollisions(module=node16).js ++++ new.nodeModulesAllowJsGeneratedNameCollisions(module=node16).js +@@= skipped -48, +48 lines =@@ + + + //// [index.d.ts] +-export const __esModule: false; +-export function require(): void; +-export const exports: {}; +-export class Object { ++// cjs format file ++declare function require(): void; ++declare const exports: {}; ++declare class Object { + } ++export declare const __esModule = false; ++export { require, exports, Object }; + //// [index.d.ts] +-export const __esModule: false; +-export function require(): void; +-export const exports: {}; +-export class Object { ++// esm format file ++declare function require(): void; ++declare const exports: {}; ++declare class Object { + } ++export declare const __esModule = false; ++export { require, exports, Object }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node18).js new file mode 100644 index 0000000000..a5606935ec --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node18).js @@ -0,0 +1,71 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsGeneratedNameCollisions.ts] //// + +//// [index.js] +// cjs format file +function require() {} +const exports = {}; +class Object {} +export const __esModule = false; +export {require, exports, Object}; +//// [index.js] +// esm format file +function require() {} +const exports = {}; +class Object {} +export const __esModule = false; +export {require, exports, Object}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; +// cjs format file +function require() { } +const exports = {}; +exports.exports = exports; +class Object { +} +exports.Object = Object; +exports.__esModule = false; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; +// esm format file +function require() { } +const exports = {}; +exports.exports = exports; +class Object { +} +exports.Object = Object; +exports.__esModule = false; + + +//// [index.d.ts] +// cjs format file +declare function require(): void; +declare const exports: {}; +declare class Object { +} +export declare const __esModule = false; +export { require, exports, Object }; +//// [index.d.ts] +// esm format file +declare function require(): void; +declare const exports: {}; +declare class Object { +} +export declare const __esModule = false; +export { require, exports, Object }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node18).js.diff new file mode 100644 index 0000000000..8f901e92de --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=node18).js.diff @@ -0,0 +1,52 @@ +--- old.nodeModulesAllowJsGeneratedNameCollisions(module=node18).js ++++ new.nodeModulesAllowJsGeneratedNameCollisions(module=node18).js +@@= skipped -38, +38 lines =@@ + exports.Object = Object; + exports.__esModule = false; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.Object = exports.exports = exports.__esModule = void 0; ++exports.require = require; + // esm format file + function require() { } + const exports = {}; ++exports.exports = exports; + class Object { + } +-export const __esModule = false; +-export { require, exports, Object }; +- +- +-//// [index.d.ts] +-export const __esModule: false; +-export function require(): void; +-export const exports: {}; +-export class Object { +-} +-//// [index.d.ts] +-export const __esModule: false; +-export function require(): void; +-export const exports: {}; +-export class Object { +-} ++exports.Object = Object; ++exports.__esModule = false; ++ ++ ++//// [index.d.ts] ++// cjs format file ++declare function require(): void; ++declare const exports: {}; ++declare class Object { ++} ++export declare const __esModule = false; ++export { require, exports, Object }; ++//// [index.d.ts] ++// esm format file ++declare function require(): void; ++declare const exports: {}; ++declare class Object { ++} ++export declare const __esModule = false; ++export { require, exports, Object }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js new file mode 100644 index 0000000000..847c8e47c2 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js @@ -0,0 +1,66 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsGeneratedNameCollisions.ts] //// + +//// [index.js] +// cjs format file +function require() {} +const exports = {}; +class Object {} +export const __esModule = false; +export {require, exports, Object}; +//// [index.js] +// esm format file +function require() {} +const exports = {}; +class Object {} +export const __esModule = false; +export {require, exports, Object}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Object = exports.exports = exports.__esModule = void 0; +exports.require = require; +// cjs format file +function require() { } +const exports = {}; +exports.exports = exports; +class Object { +} +exports.Object = Object; +exports.__esModule = false; +//// [index.js] +// esm format file +function require() { } +const exports = {}; +class Object { +} +export const __esModule = false; +export { require, exports, Object }; + + +//// [index.d.ts] +// cjs format file +declare function require(): void; +declare const exports: {}; +declare class Object { +} +export declare const __esModule = false; +export { require, exports, Object }; +//// [index.d.ts] +// esm format file +declare function require(): void; +declare const exports: {}; +declare class Object { +} +export declare const __esModule = false; +export { require, exports, Object }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js.diff new file mode 100644 index 0000000000..d644e1712a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js.diff @@ -0,0 +1,29 @@ +--- old.nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js ++++ new.nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).js +@@= skipped -48, +48 lines =@@ + + + //// [index.d.ts] +-export const __esModule: false; +-export function require(): void; +-export const exports: {}; +-export class Object { ++// cjs format file ++declare function require(): void; ++declare const exports: {}; ++declare class Object { + } ++export declare const __esModule = false; ++export { require, exports, Object }; + //// [index.d.ts] +-export const __esModule: false; +-export function require(): void; +-export const exports: {}; +-export class Object { ++// esm format file ++declare function require(): void; ++declare const exports: {}; ++declare class Object { + } ++export declare const __esModule = false; ++export { require, exports, Object }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node16).js new file mode 100644 index 0000000000..80990ff3ca --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node16).js @@ -0,0 +1,65 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportAssignment.ts] //// + +//// [index.js] +// cjs format file +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [index.js] +// esm format file +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [file.js] +// esm format file +const __require = null; +const _createRequire = null; +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const fs = require("fs"); +fs.readFile; +exports.fs2 = require("fs"); +//// [index.js] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +// esm format file +const fs = __require("fs"); +fs.readFile; +const fs2 = __require("fs"); +export { fs2 }; +//// [file.js] +import { createRequire as _createRequire_1 } from "module"; +const __require_1 = _createRequire_1(import.meta.url); +// esm format file +const __require = null; +const _createRequire = null; +const fs = __require_1("fs"); +fs.readFile; +const fs2 = __require_1("fs"); +export { fs2 }; + + +//// [index.d.ts] +export import fs2 = require("fs"); +//// [index.d.ts] +export import fs2 = require("fs"); +//// [file.d.ts] +export import fs2 = require("fs"); diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node16).js.diff new file mode 100644 index 0000000000..9029dfb7a1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node16).js.diff @@ -0,0 +1,14 @@ +--- old.nodeModulesAllowJsImportAssignment(module=node16).js ++++ new.nodeModulesAllowJsImportAssignment(module=node16).js +@@= skipped -57, +57 lines =@@ + + + //// [index.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); + //// [index.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); + //// [file.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node18).js new file mode 100644 index 0000000000..2cef9a1e63 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node18).js @@ -0,0 +1,63 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportAssignment.ts] //// + +//// [index.js] +// cjs format file +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [index.js] +// esm format file +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [file.js] +// esm format file +const __require = null; +const _createRequire = null; +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const fs = require("fs"); +fs.readFile; +exports.fs2 = require("fs"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const fs = require("fs"); +fs.readFile; +exports.fs2 = require("fs"); +//// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const __require = null; +const _createRequire = null; +const fs = require("fs"); +fs.readFile; +exports.fs2 = require("fs"); + + +//// [index.d.ts] +export import fs2 = require("fs"); +//// [index.d.ts] +export import fs2 = require("fs"); +//// [file.d.ts] +export import fs2 = require("fs"); diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node18).js.diff new file mode 100644 index 0000000000..a9d8b18538 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=node18).js.diff @@ -0,0 +1,46 @@ +--- old.nodeModulesAllowJsImportAssignment(module=node18).js ++++ new.nodeModulesAllowJsImportAssignment(module=node18).js +@@= skipped -37, +37 lines =@@ + fs.readFile; + exports.fs2 = require("fs"); + //// [index.js] +-import { createRequire as _createRequire } from "module"; +-const __require = _createRequire(import.meta.url); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-const fs = __require("fs"); ++const fs = require("fs"); + fs.readFile; +-const fs2 = __require("fs"); +-export { fs2 }; ++exports.fs2 = require("fs"); + //// [file.js] +-import { createRequire as _createRequire_1 } from "module"; +-const __require_1 = _createRequire_1(import.meta.url); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file + const __require = null; + const _createRequire = null; +-const fs = __require_1("fs"); ++const fs = require("fs"); + fs.readFile; +-const fs2 = __require_1("fs"); +-export { fs2 }; +- +- +-//// [index.d.ts] +-import fs2 = require("fs"); +-//// [index.d.ts] +-import fs2 = require("fs"); ++exports.fs2 = require("fs"); ++ ++ ++//// [index.d.ts] ++export import fs2 = require("fs"); ++//// [index.d.ts] ++export import fs2 = require("fs"); + //// [file.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=nodenext).js new file mode 100644 index 0000000000..80990ff3ca --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=nodenext).js @@ -0,0 +1,65 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportAssignment.ts] //// + +//// [index.js] +// cjs format file +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [index.js] +// esm format file +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [file.js] +// esm format file +const __require = null; +const _createRequire = null; +import fs = require("fs"); +fs.readFile; +export import fs2 = require("fs"); +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const fs = require("fs"); +fs.readFile; +exports.fs2 = require("fs"); +//// [index.js] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +// esm format file +const fs = __require("fs"); +fs.readFile; +const fs2 = __require("fs"); +export { fs2 }; +//// [file.js] +import { createRequire as _createRequire_1 } from "module"; +const __require_1 = _createRequire_1(import.meta.url); +// esm format file +const __require = null; +const _createRequire = null; +const fs = __require_1("fs"); +fs.readFile; +const fs2 = __require_1("fs"); +export { fs2 }; + + +//// [index.d.ts] +export import fs2 = require("fs"); +//// [index.d.ts] +export import fs2 = require("fs"); +//// [file.d.ts] +export import fs2 = require("fs"); diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=nodenext).js.diff new file mode 100644 index 0000000000..f1cf9a5e83 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportAssignment(module=nodenext).js.diff @@ -0,0 +1,14 @@ +--- old.nodeModulesAllowJsImportAssignment(module=nodenext).js ++++ new.nodeModulesAllowJsImportAssignment(module=nodenext).js +@@= skipped -57, +57 lines =@@ + + + //// [index.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); + //// [index.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); + //// [file.d.ts] +-import fs2 = require("fs"); ++export import fs2 = require("fs"); \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node16).js new file mode 100644 index 0000000000..a30d220227 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node16).js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions1.ts] //// + +//// [index.js] +// cjs format file +import {default as _fs} from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; +//// [index.js] +// esm format file +import {default as _fs} from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +// cjs format file +const fs_1 = tslib_1.__importDefault(require("fs")); +fs_1.default.readFile; +const fs = tslib_1.__importStar(require("fs")); +fs.readFile; +//// [index.js] +// esm format file +import { default as _fs } from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; + + +//// [index.d.ts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node18).js new file mode 100644 index 0000000000..1210148c3a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node18).js @@ -0,0 +1,53 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions1.ts] //// + +//// [index.js] +// cjs format file +import {default as _fs} from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; +//// [index.js] +// esm format file +import {default as _fs} from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const fs_1 = require("fs"); +fs_1.default.readFile; +const fs = require("fs"); +fs.readFile; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const fs_1 = require("fs"); +fs_1.default.readFile; +const fs = require("fs"); +fs.readFile; + + +//// [index.d.ts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node18).js.diff new file mode 100644 index 0000000000..b1557f6472 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=node18).js.diff @@ -0,0 +1,26 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions1(module=node18).js ++++ new.nodeModulesAllowJsImportHelpersCollisions1(module=node18).js +@@= skipped -31, +31 lines =@@ + //// [index.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-const tslib_1 = require("tslib"); + // cjs format file +-const fs_1 = tslib_1.__importDefault(require("fs")); ++const fs_1 = require("fs"); + fs_1.default.readFile; +-const fs = tslib_1.__importStar(require("fs")); ++const fs = require("fs"); + fs.readFile; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import { default as _fs } from "fs"; +-_fs.readFile; +-import * as fs from "fs"; ++const fs_1 = require("fs"); ++fs_1.default.readFile; ++const fs = require("fs"); + fs.readFile; + diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=nodenext).js new file mode 100644 index 0000000000..a30d220227 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions1(module=nodenext).js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions1.ts] //// + +//// [index.js] +// cjs format file +import {default as _fs} from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; +//// [index.js] +// esm format file +import {default as _fs} from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tslib_1 = require("tslib"); +// cjs format file +const fs_1 = tslib_1.__importDefault(require("fs")); +fs_1.default.readFile; +const fs = tslib_1.__importStar(require("fs")); +fs.readFile; +//// [index.js] +// esm format file +import { default as _fs } from "fs"; +_fs.readFile; +import * as fs from "fs"; +fs.readFile; + + +//// [index.d.ts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node16).js new file mode 100644 index 0000000000..2cfc0e98c6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node16).js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions2.ts] //// + +//// [index.ts] +// cjs format file +export * from "fs"; +export * as fs from "fs"; +//// [index.js] +// esm format file +export * from "fs"; +export * as fs from "fs"; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fs = void 0; +const tslib_1 = require("tslib"); +// cjs format file +tslib_1.__exportStar(require("fs"), exports); +exports.fs = tslib_1.__importStar(require("fs")); +//// [index.js] +// esm format file +export * from "fs"; +export * as fs from "fs"; + + +//// [index.d.ts] +// cjs format file +export * from "fs"; +export * as fs from "fs"; +//// [index.d.ts] +// esm format file +export * from "fs"; +export * as fs from "fs"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node16).js.diff new file mode 100644 index 0000000000..b0d37b2a38 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node16).js.diff @@ -0,0 +1,13 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions2(module=node16).js ++++ new.nodeModulesAllowJsImportHelpersCollisions2(module=node16).js +@@= skipped -39, +39 lines =@@ + + + //// [index.d.ts] ++// cjs format file + export * from "fs"; + export * as fs from "fs"; + //// [index.d.ts] ++// esm format file + export * from "fs"; + export * as fs from "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node18).js new file mode 100644 index 0000000000..30071155df --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node18).js @@ -0,0 +1,53 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions2.ts] //// + +//// [index.ts] +// cjs format file +export * from "fs"; +export * as fs from "fs"; +//// [index.js] +// esm format file +export * from "fs"; +export * as fs from "fs"; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fs = void 0; +const tslib_1 = require("tslib"); +// cjs format file +tslib_1.__exportStar(require("fs"), exports); +exports.fs = require("fs"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fs = void 0; +const tslib_1 = require("tslib"); +// esm format file +__exportStar(require("fs"), exports); +exports.fs = require("fs"); + + +//// [index.d.ts] +// cjs format file +export * from "fs"; +export * as fs from "fs"; +//// [index.d.ts] +// esm format file +export * from "fs"; +export * as fs from "fs"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node18).js.diff new file mode 100644 index 0000000000..8891e5a9e6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=node18).js.diff @@ -0,0 +1,35 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions2(module=node18).js ++++ new.nodeModulesAllowJsImportHelpersCollisions2(module=node18).js +@@= skipped -31, +31 lines =@@ + const tslib_1 = require("tslib"); + // cjs format file + tslib_1.__exportStar(require("fs"), exports); +-exports.fs = tslib_1.__importStar(require("fs")); ++exports.fs = require("fs"); + //// [index.js] +-// esm format file +-export * from "fs"; +-export * as fs from "fs"; +- +- +-//// [index.d.ts] +-export * from "fs"; +-export * as fs from "fs"; +-//// [index.d.ts] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.fs = void 0; ++const tslib_1 = require("tslib"); ++// esm format file ++__exportStar(require("fs"), exports); ++exports.fs = require("fs"); ++ ++ ++//// [index.d.ts] ++// cjs format file ++export * from "fs"; ++export * as fs from "fs"; ++//// [index.d.ts] ++// esm format file + export * from "fs"; + export * as fs from "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js new file mode 100644 index 0000000000..2cfc0e98c6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions2.ts] //// + +//// [index.ts] +// cjs format file +export * from "fs"; +export * as fs from "fs"; +//// [index.js] +// esm format file +export * from "fs"; +export * as fs from "fs"; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fs = void 0; +const tslib_1 = require("tslib"); +// cjs format file +tslib_1.__exportStar(require("fs"), exports); +exports.fs = tslib_1.__importStar(require("fs")); +//// [index.js] +// esm format file +export * from "fs"; +export * as fs from "fs"; + + +//// [index.d.ts] +// cjs format file +export * from "fs"; +export * as fs from "fs"; +//// [index.d.ts] +// esm format file +export * from "fs"; +export * as fs from "fs"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js.diff new file mode 100644 index 0000000000..9472ffe90e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js.diff @@ -0,0 +1,13 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js ++++ new.nodeModulesAllowJsImportHelpersCollisions2(module=nodenext).js +@@= skipped -39, +39 lines =@@ + + + //// [index.d.ts] ++// cjs format file + export * from "fs"; + export * as fs from "fs"; + //// [index.d.ts] ++// esm format file + export * from "fs"; + export * as fs from "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node16).js new file mode 100644 index 0000000000..d6f712d5f9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node16).js @@ -0,0 +1,58 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions3.ts] //// + +//// [index.js] +// cjs format file +export {default} from "fs"; +export {default as foo} from "fs"; +export {bar as baz} from "fs"; +//// [index.js] +// esm format file +export {default} from "fs"; +export {default as foo} from "fs"; +export {bar as baz} from "fs"; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.baz = exports.foo = exports.default = void 0; +const tslib_1 = require("tslib"); +// cjs format file +const fs_1 = require("fs"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_1).default; } }); +const fs_2 = require("fs"); +Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_2).default; } }); +const fs_3 = require("fs"); +Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); +//// [index.js] +// esm format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; + + +//// [index.d.ts] +// cjs format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; +//// [index.d.ts] +// esm format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node16).js.diff new file mode 100644 index 0000000000..7b9973e0c5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node16).js.diff @@ -0,0 +1,35 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions3(module=node16).js ++++ new.nodeModulesAllowJsImportHelpersCollisions3(module=node16).js +@@= skipped -30, +30 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.baz = exports.foo = exports.default = void 0; +-var tslib_1 = require("tslib"); ++const tslib_1 = require("tslib"); + // cjs format file +-var fs_1 = require("fs"); ++const fs_1 = require("fs"); + Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_1).default; } }); +-var fs_2 = require("fs"); ++const fs_2 = require("fs"); + Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_2).default; } }); +-var fs_3 = require("fs"); ++const fs_3 = require("fs"); + Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); + //// [index.js] + // esm format file +@@= skipped -16, +16 lines =@@ + + + //// [index.d.ts] +-export { default, default as foo, bar as baz } from "fs"; ++// cjs format file ++export { default } from "fs"; ++export { default as foo } from "fs"; ++export { bar as baz } from "fs"; + //// [index.d.ts] +-export { default, default as foo, bar as baz } from "fs"; ++// esm format file ++export { default } from "fs"; ++export { default as foo } from "fs"; ++export { bar as baz } from "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node18).js new file mode 100644 index 0000000000..a7cd4a1ee1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node18).js @@ -0,0 +1,63 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions3.ts] //// + +//// [index.js] +// cjs format file +export {default} from "fs"; +export {default as foo} from "fs"; +export {bar as baz} from "fs"; +//// [index.js] +// esm format file +export {default} from "fs"; +export {default as foo} from "fs"; +export {bar as baz} from "fs"; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.baz = exports.foo = exports.default = void 0; +// cjs format file +const fs_1 = require("fs"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return fs_1.default; } }); +const fs_2 = require("fs"); +Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return fs_2.default; } }); +const fs_3 = require("fs"); +Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.baz = exports.foo = exports.default = void 0; +// esm format file +const fs_1 = require("fs"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return fs_1.default; } }); +const fs_2 = require("fs"); +Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return fs_2.default; } }); +const fs_3 = require("fs"); +Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); + + +//// [index.d.ts] +// cjs format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; +//// [index.d.ts] +// esm format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node18).js.diff new file mode 100644 index 0000000000..549427edf3 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=node18).js.diff @@ -0,0 +1,52 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions3(module=node18).js ++++ new.nodeModulesAllowJsImportHelpersCollisions3(module=node18).js +@@= skipped -30, +30 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.baz = exports.foo = exports.default = void 0; +-var tslib_1 = require("tslib"); + // cjs format file +-var fs_1 = require("fs"); +-Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_1).default; } }); +-var fs_2 = require("fs"); +-Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_2).default; } }); +-var fs_3 = require("fs"); ++const fs_1 = require("fs"); ++Object.defineProperty(exports, "default", { enumerable: true, get: function () { return fs_1.default; } }); ++const fs_2 = require("fs"); ++Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return fs_2.default; } }); ++const fs_3 = require("fs"); + Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); + //// [index.js] +-// esm format file +-export { default } from "fs"; +-export { default as foo } from "fs"; +-export { bar as baz } from "fs"; +- +- +-//// [index.d.ts] +-export { default, default as foo, bar as baz } from "fs"; +-//// [index.d.ts] +-export { default, default as foo, bar as baz } from "fs"; ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.baz = exports.foo = exports.default = void 0; ++// esm format file ++const fs_1 = require("fs"); ++Object.defineProperty(exports, "default", { enumerable: true, get: function () { return fs_1.default; } }); ++const fs_2 = require("fs"); ++Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return fs_2.default; } }); ++const fs_3 = require("fs"); ++Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); ++ ++ ++//// [index.d.ts] ++// cjs format file ++export { default } from "fs"; ++export { default as foo } from "fs"; ++export { bar as baz } from "fs"; ++//// [index.d.ts] ++// esm format file ++export { default } from "fs"; ++export { default as foo } from "fs"; ++export { bar as baz } from "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js new file mode 100644 index 0000000000..d6f712d5f9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js @@ -0,0 +1,58 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportHelpersCollisions3.ts] //// + +//// [index.js] +// cjs format file +export {default} from "fs"; +export {default as foo} from "fs"; +export {bar as baz} from "fs"; +//// [index.js] +// esm format file +export {default} from "fs"; +export {default as foo} from "fs"; +export {bar as baz} from "fs"; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} +//// [types.d.ts] +declare module "fs"; +declare module "tslib" { + export {}; + // intentionally missing all helpers +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.baz = exports.foo = exports.default = void 0; +const tslib_1 = require("tslib"); +// cjs format file +const fs_1 = require("fs"); +Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_1).default; } }); +const fs_2 = require("fs"); +Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_2).default; } }); +const fs_3 = require("fs"); +Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); +//// [index.js] +// esm format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; + + +//// [index.d.ts] +// cjs format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; +//// [index.d.ts] +// esm format file +export { default } from "fs"; +export { default as foo } from "fs"; +export { bar as baz } from "fs"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js.diff new file mode 100644 index 0000000000..7ded5e07fa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js.diff @@ -0,0 +1,35 @@ +--- old.nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js ++++ new.nodeModulesAllowJsImportHelpersCollisions3(module=nodenext).js +@@= skipped -30, +30 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.baz = exports.foo = exports.default = void 0; +-var tslib_1 = require("tslib"); ++const tslib_1 = require("tslib"); + // cjs format file +-var fs_1 = require("fs"); ++const fs_1 = require("fs"); + Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_1).default; } }); +-var fs_2 = require("fs"); ++const fs_2 = require("fs"); + Object.defineProperty(exports, "foo", { enumerable: true, get: function () { return tslib_1.__importDefault(fs_2).default; } }); +-var fs_3 = require("fs"); ++const fs_3 = require("fs"); + Object.defineProperty(exports, "baz", { enumerable: true, get: function () { return fs_3.bar; } }); + //// [index.js] + // esm format file +@@= skipped -16, +16 lines =@@ + + + //// [index.d.ts] +-export { default, default as foo, bar as baz } from "fs"; ++// cjs format file ++export { default } from "fs"; ++export { default as foo } from "fs"; ++export { bar as baz } from "fs"; + //// [index.d.ts] +-export { default, default as foo, bar as baz } from "fs"; ++// esm format file ++export { default } from "fs"; ++export { default as foo } from "fs"; ++export { bar as baz } from "fs"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node16).js new file mode 100644 index 0000000000..23c6e47c50 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node16).js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportMeta.ts] //// + +//// [index.js] +// cjs format file +const x = import.meta.url; +export {x}; +//// [index.js] +// esm format file +const x = import.meta.url; +export {x}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = import.meta.url; +exports.x = x; +//// [index.js] +// esm format file +const x = import.meta.url; +export { x }; + + +//// [index.d.ts] +// cjs format file +declare const x: string; +export { x }; +//// [index.d.ts] +// esm format file +declare const x: string; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node16).js.diff new file mode 100644 index 0000000000..02c632ad26 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node16).js.diff @@ -0,0 +1,15 @@ +--- old.nodeModulesAllowJsImportMeta(module=node16).js ++++ new.nodeModulesAllowJsImportMeta(module=node16).js +@@= skipped -32, +32 lines =@@ + + + //// [index.d.ts] +-export const x: string; ++// cjs format file ++declare const x: string; ++export { x }; + //// [index.d.ts] +-export const x: string; ++// esm format file ++declare const x: string; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node18).js new file mode 100644 index 0000000000..98d404af57 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node18).js @@ -0,0 +1,45 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportMeta.ts] //// + +//// [index.js] +// cjs format file +const x = import.meta.url; +export {x}; +//// [index.js] +// esm format file +const x = import.meta.url; +export {x}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = import.meta.url; +exports.x = x; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// esm format file +const x = import.meta.url; +exports.x = x; + + +//// [index.d.ts] +// cjs format file +declare const x: string; +export { x }; +//// [index.d.ts] +// esm format file +declare const x: string; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node18).js.diff new file mode 100644 index 0000000000..5af2feb917 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=node18).js.diff @@ -0,0 +1,29 @@ +--- old.nodeModulesAllowJsImportMeta(module=node18).js ++++ new.nodeModulesAllowJsImportMeta(module=node18).js +@@= skipped -26, +26 lines =@@ + const x = import.meta.url; + exports.x = x; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; + // esm format file + const x = import.meta.url; +-export { x }; +- +- +-//// [index.d.ts] +-export const x: string; +-//// [index.d.ts] +-export const x: string; ++exports.x = x; ++ ++ ++//// [index.d.ts] ++// cjs format file ++declare const x: string; ++export { x }; ++//// [index.d.ts] ++// esm format file ++declare const x: string; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=nodenext).js new file mode 100644 index 0000000000..23c6e47c50 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=nodenext).js @@ -0,0 +1,42 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsImportMeta.ts] //// + +//// [index.js] +// cjs format file +const x = import.meta.url; +export {x}; +//// [index.js] +// esm format file +const x = import.meta.url; +export {x}; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = import.meta.url; +exports.x = x; +//// [index.js] +// esm format file +const x = import.meta.url; +export { x }; + + +//// [index.d.ts] +// cjs format file +declare const x: string; +export { x }; +//// [index.d.ts] +// esm format file +declare const x: string; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=nodenext).js.diff new file mode 100644 index 0000000000..8667bb6938 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsImportMeta(module=nodenext).js.diff @@ -0,0 +1,15 @@ +--- old.nodeModulesAllowJsImportMeta(module=nodenext).js ++++ new.nodeModulesAllowJsImportMeta(module=nodenext).js +@@= skipped -32, +32 lines =@@ + + + //// [index.d.ts] +-export const x: string; ++// cjs format file ++declare const x: string; ++export { x }; + //// [index.d.ts] +-export const x: string; ++// esm format file ++declare const x: string; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node16).js new file mode 100644 index 0000000000..208b7a1a36 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node16).js @@ -0,0 +1,175 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackageExports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} + +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjs = __importStar(require("package/cjs")); +const mjs = __importStar(require("package/mjs")); +const type = __importStar(require("package")); +cjs; +mjs; +type; +const cjsi = __importStar(require("inner/cjs")); +const mjsi = __importStar(require("inner/mjs")); +const typei = __importStar(require("inner")); +cjsi; +mjsi; +typei; +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node18).js new file mode 100644 index 0000000000..6f3679e8cc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node18).js @@ -0,0 +1,146 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackageExports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} + +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("package/cjs"); +const mjs = require("package/mjs"); +const type = require("package"); +cjs; +mjs; +type; +const cjsi = require("inner/cjs"); +const mjsi = require("inner/mjs"); +const typei = require("inner"); +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjs = require("package/cjs"); +const mjs = require("package/mjs"); +const type = require("package"); +cjs; +mjs; +type; +const cjsi = require("inner/cjs"); +const mjsi = require("inner/mjs"); +const typei = require("inner"); +cjsi; +mjsi; +typei; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("package/cjs"); +const mjs = require("package/mjs"); +const type = require("package"); +cjs; +mjs; +type; +const cjsi = require("inner/cjs"); +const mjsi = require("inner/mjs"); +const typei = require("inner"); +cjsi; +mjsi; +typei; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node18).js.diff new file mode 100644 index 0000000000..f7bd80c825 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=node18).js.diff @@ -0,0 +1,104 @@ +--- old.nodeModulesAllowJsPackageExports(module=node18).js ++++ new.nodeModulesAllowJsPackageExports(module=node18).js +@@= skipped -88, +88 lines =@@ + } + + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjs from "package/cjs"; +-import * as mjs from "package/mjs"; +-import * as type from "package"; ++const cjs = require("package/cjs"); ++const mjs = require("package/mjs"); ++const type = require("package"); + cjs; + mjs; + type; +-import * as cjsi from "inner/cjs"; +-import * as mjsi from "inner/mjs"; +-import * as typei from "inner"; ++const cjsi = require("inner/cjs"); ++const mjsi = require("inner/mjs"); ++const typei = require("inner"); + cjsi; + mjsi; + typei; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file +-const cjs = __importStar(require("package/cjs")); +-const mjs = __importStar(require("package/mjs")); +-const type = __importStar(require("package")); ++const cjs = require("package/cjs"); ++const mjs = require("package/mjs"); ++const type = require("package"); + cjs; + mjs; + type; +-const cjsi = __importStar(require("inner/cjs")); +-const mjsi = __importStar(require("inner/mjs")); +-const typei = __importStar(require("inner")); ++const cjsi = require("inner/cjs"); ++const mjsi = require("inner/mjs"); ++const typei = require("inner"); + cjsi; + mjsi; + typei; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjs from "package/cjs"; +-import * as mjs from "package/mjs"; +-import * as type from "package"; ++const cjs = require("package/cjs"); ++const mjs = require("package/mjs"); ++const type = require("package"); + cjs; + mjs; + type; +-import * as cjsi from "inner/cjs"; +-import * as mjsi from "inner/mjs"; +-import * as typei from "inner"; ++const cjsi = require("inner/cjs"); ++const mjsi = require("inner/mjs"); ++const typei = require("inner"); + cjsi; + mjsi; + typei; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=nodenext).js new file mode 100644 index 0000000000..208b7a1a36 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageExports(module=nodenext).js @@ -0,0 +1,175 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackageExports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs"; +import * as mjs from "inner/mjs"; +import * as type from "inner"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs": "./index.cjs", + "./mjs": "./index.mjs", + ".": "./index.js" + } +} + +//// [index.mjs] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjs = __importStar(require("package/cjs")); +const mjs = __importStar(require("package/mjs")); +const type = __importStar(require("package")); +cjs; +mjs; +type; +const cjsi = __importStar(require("inner/cjs")); +const mjsi = __importStar(require("inner/mjs")); +const typei = __importStar(require("inner")); +cjsi; +mjsi; +typei; +//// [index.js] +// esm format file +import * as cjs from "package/cjs"; +import * as mjs from "package/mjs"; +import * as type from "package"; +cjs; +mjs; +type; +import * as cjsi from "inner/cjs"; +import * as mjsi from "inner/mjs"; +import * as typei from "inner"; +cjsi; +mjsi; +typei; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node16).js new file mode 100644 index 0000000000..510e6b7128 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node16).js @@ -0,0 +1,106 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackageImports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.mjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.cjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": "./index.js", + "imports": { + "#cjs": "./index.cjs", + "#mjs": "./index.mjs", + "#type": "./index.js" + } +} + +//// [index.mjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = __importStar(require("#cjs")); +const mjs = __importStar(require("#mjs")); +const type = __importStar(require("#type")); +cjs; +mjs; +type; +//// [index.js] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node18).js new file mode 100644 index 0000000000..669c01ed68 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node18).js @@ -0,0 +1,77 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackageImports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.mjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.cjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": "./index.js", + "imports": { + "#cjs": "./index.cjs", + "#mjs": "./index.mjs", + "#type": "./index.js" + } +} + +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("#cjs"); +const mjs = require("#mjs"); +const type = require("#type"); +cjs; +mjs; +type; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("#cjs"); +const mjs = require("#mjs"); +const type = require("#type"); +cjs; +mjs; +type; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = require("#cjs"); +const mjs = require("#mjs"); +const type = require("#type"); +cjs; +mjs; +type; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node18).js.diff new file mode 100644 index 0000000000..4ce8d947cc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=node18).js.diff @@ -0,0 +1,77 @@ +--- old.nodeModulesAllowJsPackageImports(module=node18).js ++++ new.nodeModulesAllowJsPackageImports(module=node18).js +@@= skipped -37, +37 lines =@@ + } + + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjs from "#cjs"; +-import * as mjs from "#mjs"; +-import * as type from "#type"; ++const cjs = require("#cjs"); ++const mjs = require("#mjs"); ++const type = require("#type"); + cjs; + mjs; + type; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-const cjs = __importStar(require("#cjs")); +-const mjs = __importStar(require("#mjs")); +-const type = __importStar(require("#type")); ++const cjs = require("#cjs"); ++const mjs = require("#mjs"); ++const type = require("#type"); + cjs; + mjs; + type; + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjs from "#cjs"; +-import * as mjs from "#mjs"; +-import * as type from "#type"; ++const cjs = require("#cjs"); ++const mjs = require("#mjs"); ++const type = require("#type"); + cjs; + mjs; + type; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=nodenext).js new file mode 100644 index 0000000000..510e6b7128 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackageImports(module=nodenext).js @@ -0,0 +1,106 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackageImports.ts] //// + +//// [index.js] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.mjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.cjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", + "exports": "./index.js", + "imports": { + "#cjs": "./index.cjs", + "#mjs": "./index.mjs", + "#type": "./index.js" + } +} + +//// [index.mjs] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjs = __importStar(require("#cjs")); +const mjs = __importStar(require("#mjs")); +const type = __importStar(require("#type")); +cjs; +mjs; +type; +//// [index.js] +// esm format file +import * as cjs from "#cjs"; +import * as mjs from "#mjs"; +import * as type from "#type"; +cjs; +mjs; +type; + + +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; +//// [index.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node16).js new file mode 100644 index 0000000000..79669dc7d4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node16).js @@ -0,0 +1,134 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExports.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*": "./*.cjs", + "./mjs/*": "./*.mjs", + "./js/*": "./*.js" + } +} + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = __importStar(require("inner/cjs/index")); +const mjsi = __importStar(require("inner/mjs/index")); +const typei = __importStar(require("inner/js/index")); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node18).js new file mode 100644 index 0000000000..066c2c6afb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node18).js @@ -0,0 +1,105 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExports.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*": "./*.cjs", + "./mjs/*": "./*.mjs", + "./js/*": "./*.js" + } +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjsi = require("inner/cjs/index"); +const mjsi = require("inner/mjs/index"); +const typei = require("inner/js/index"); +cjsi; +mjsi; +typei; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjsi = require("inner/cjs/index"); +const mjsi = require("inner/mjs/index"); +const typei = require("inner/js/index"); +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = require("inner/cjs/index"); +const mjsi = require("inner/mjs/index"); +const typei = require("inner/js/index"); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node18).js.diff new file mode 100644 index 0000000000..977d31df92 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=node18).js.diff @@ -0,0 +1,77 @@ +--- old.nodeModulesAllowJsPackagePatternExports(module=node18).js ++++ new.nodeModulesAllowJsPackagePatternExports(module=node18).js +@@= skipped -65, +65 lines =@@ + } + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjsi from "inner/cjs/index"; +-import * as mjsi from "inner/mjs/index"; +-import * as typei from "inner/js/index"; ++const cjsi = require("inner/cjs/index"); ++const mjsi = require("inner/mjs/index"); ++const typei = require("inner/js/index"); + cjsi; + mjsi; + typei; + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjsi from "inner/cjs/index"; +-import * as mjsi from "inner/mjs/index"; +-import * as typei from "inner/js/index"; ++const cjsi = require("inner/cjs/index"); ++const mjsi = require("inner/mjs/index"); ++const typei = require("inner/js/index"); + cjsi; + mjsi; + typei; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file +-const cjsi = __importStar(require("inner/cjs/index")); +-const mjsi = __importStar(require("inner/mjs/index")); +-const typei = __importStar(require("inner/js/index")); ++const cjsi = require("inner/cjs/index"); ++const mjsi = require("inner/mjs/index"); ++const typei = require("inner/js/index"); + cjsi; + mjsi; + typei; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=nodenext).js new file mode 100644 index 0000000000..79669dc7d4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExports(module=nodenext).js @@ -0,0 +1,134 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExports.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/index"; +import * as mjs from "inner/mjs/index"; +import * as type from "inner/js/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*": "./*.cjs", + "./mjs/*": "./*.mjs", + "./js/*": "./*.js" + } +} + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index"; +import * as mjsi from "inner/mjs/index"; +import * as typei from "inner/js/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = __importStar(require("inner/cjs/index")); +const mjsi = __importStar(require("inner/mjs/index")); +const typei = __importStar(require("inner/js/index")); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node16).js new file mode 100644 index 0000000000..3ba5fbbce0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node16).js @@ -0,0 +1,137 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExportsExclude.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*": "./*.cjs", + "./cjs/exclude/*": null, + "./mjs/*": "./*.mjs", + "./mjs/exclude/*": null, + "./js/*": "./*.js", + "./js/exclude/*": null + } +} + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = __importStar(require("inner/cjs/exclude/index")); +const mjsi = __importStar(require("inner/mjs/exclude/index")); +const typei = __importStar(require("inner/js/exclude/index")); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js new file mode 100644 index 0000000000..6e380318eb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js @@ -0,0 +1,108 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExportsExclude.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*": "./*.cjs", + "./cjs/exclude/*": null, + "./mjs/*": "./*.mjs", + "./mjs/exclude/*": null, + "./js/*": "./*.js", + "./js/exclude/*": null + } +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjsi = require("inner/cjs/exclude/index"); +const mjsi = require("inner/mjs/exclude/index"); +const typei = require("inner/js/exclude/index"); +cjsi; +mjsi; +typei; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjsi = require("inner/cjs/exclude/index"); +const mjsi = require("inner/mjs/exclude/index"); +const typei = require("inner/js/exclude/index"); +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = require("inner/cjs/exclude/index"); +const mjsi = require("inner/mjs/exclude/index"); +const typei = require("inner/js/exclude/index"); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js.diff new file mode 100644 index 0000000000..72341d7bd8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js.diff @@ -0,0 +1,77 @@ +--- old.nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js ++++ new.nodeModulesAllowJsPackagePatternExportsExclude(module=node18).js +@@= skipped -68, +68 lines =@@ + } + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjsi from "inner/cjs/exclude/index"; +-import * as mjsi from "inner/mjs/exclude/index"; +-import * as typei from "inner/js/exclude/index"; ++const cjsi = require("inner/cjs/exclude/index"); ++const mjsi = require("inner/mjs/exclude/index"); ++const typei = require("inner/js/exclude/index"); + cjsi; + mjsi; + typei; + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjsi from "inner/cjs/exclude/index"; +-import * as mjsi from "inner/mjs/exclude/index"; +-import * as typei from "inner/js/exclude/index"; ++const cjsi = require("inner/cjs/exclude/index"); ++const mjsi = require("inner/mjs/exclude/index"); ++const typei = require("inner/js/exclude/index"); + cjsi; + mjsi; + typei; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file +-const cjsi = __importStar(require("inner/cjs/exclude/index")); +-const mjsi = __importStar(require("inner/mjs/exclude/index")); +-const typei = __importStar(require("inner/js/exclude/index")); ++const cjsi = require("inner/cjs/exclude/index"); ++const mjsi = require("inner/mjs/exclude/index"); ++const typei = require("inner/js/exclude/index"); + cjsi; + mjsi; + typei; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=nodenext).js new file mode 100644 index 0000000000..3ba5fbbce0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsExclude(module=nodenext).js @@ -0,0 +1,137 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExportsExclude.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/exclude/index"; +import * as mjs from "inner/mjs/exclude/index"; +import * as type from "inner/js/exclude/index"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*": "./*.cjs", + "./cjs/exclude/*": null, + "./mjs/*": "./*.mjs", + "./mjs/exclude/*": null, + "./js/*": "./*.js", + "./js/exclude/*": null + } +} + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/exclude/index"; +import * as mjsi from "inner/mjs/exclude/index"; +import * as typei from "inner/js/exclude/index"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = __importStar(require("inner/cjs/exclude/index")); +const mjsi = __importStar(require("inner/mjs/exclude/index")); +const typei = __importStar(require("inner/js/exclude/index")); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node16).js new file mode 100644 index 0000000000..b23d73a88c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node16).js @@ -0,0 +1,134 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExportsTrailers.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*.cjs": "./*.cjs", + "./mjs/*.mjs": "./*.mjs", + "./js/*.js": "./*.js" + } +} + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = __importStar(require("inner/cjs/index.cjs")); +const mjsi = __importStar(require("inner/mjs/index.mjs")); +const typei = __importStar(require("inner/js/index.js")); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js new file mode 100644 index 0000000000..d269d9f483 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js @@ -0,0 +1,105 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExportsTrailers.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*.cjs": "./*.cjs", + "./mjs/*.mjs": "./*.mjs", + "./js/*.js": "./*.js" + } +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjsi = require("inner/cjs/index.cjs"); +const mjsi = require("inner/mjs/index.mjs"); +const typei = require("inner/js/index.js"); +cjsi; +mjsi; +typei; +//// [index.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// esm format file +const cjsi = require("inner/cjs/index.cjs"); +const mjsi = require("inner/mjs/index.mjs"); +const typei = require("inner/js/index.js"); +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = require("inner/cjs/index.cjs"); +const mjsi = require("inner/mjs/index.mjs"); +const typei = require("inner/js/index.js"); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js.diff new file mode 100644 index 0000000000..d526cae854 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js.diff @@ -0,0 +1,77 @@ +--- old.nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js ++++ new.nodeModulesAllowJsPackagePatternExportsTrailers(module=node18).js +@@= skipped -65, +65 lines =@@ + } + + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjsi from "inner/cjs/index.cjs"; +-import * as mjsi from "inner/mjs/index.mjs"; +-import * as typei from "inner/js/index.js"; ++const cjsi = require("inner/cjs/index.cjs"); ++const mjsi = require("inner/mjs/index.mjs"); ++const typei = require("inner/js/index.js"); + cjsi; + mjsi; + typei; + //// [index.mjs] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + // esm format file +-import * as cjsi from "inner/cjs/index.cjs"; +-import * as mjsi from "inner/mjs/index.mjs"; +-import * as typei from "inner/js/index.js"; ++const cjsi = require("inner/cjs/index.cjs"); ++const mjsi = require("inner/mjs/index.mjs"); ++const typei = require("inner/js/index.js"); + cjsi; + mjsi; + typei; + //// [index.cjs] + "use strict"; +-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- var desc = Object.getOwnPropertyDescriptor(m, k); +- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { +- desc = { enumerable: true, get: function() { return m[k]; } }; +- } +- Object.defineProperty(o, k2, desc); +-}) : (function(o, m, k, k2) { +- if (k2 === undefined) k2 = k; +- o[k2] = m[k]; +-})); +-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { +- Object.defineProperty(o, "default", { enumerable: true, value: v }); +-}) : function(o, v) { +- o["default"] = v; +-}); +-var __importStar = (this && this.__importStar) || (function () { +- var ownKeys = function(o) { +- ownKeys = Object.getOwnPropertyNames || function (o) { +- var ar = []; +- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; +- return ar; +- }; +- return ownKeys(o); +- }; +- return function (mod) { +- if (mod && mod.__esModule) return mod; +- var result = {}; +- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); +- __setModuleDefault(result, mod); +- return result; +- }; +-})(); + Object.defineProperty(exports, "__esModule", { value: true }); + // cjs format file +-const cjsi = __importStar(require("inner/cjs/index.cjs")); +-const mjsi = __importStar(require("inner/mjs/index.mjs")); +-const typei = __importStar(require("inner/js/index.js")); ++const cjsi = require("inner/cjs/index.cjs"); ++const mjsi = require("inner/mjs/index.mjs"); ++const typei = require("inner/js/index.js"); + cjsi; + mjsi; + typei; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=nodenext).js new file mode 100644 index 0000000000..b23d73a88c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsPackagePatternExportsTrailers(module=nodenext).js @@ -0,0 +1,134 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsPackagePatternExportsTrailers.ts] //// + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.cjs] +// cjs format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.d.ts] +// cjs format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.mts] +// esm format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [index.d.cts] +// cjs format file +import * as cjs from "inner/cjs/index.cjs"; +import * as mjs from "inner/mjs/index.mjs"; +import * as type from "inner/js/index.js"; +export { cjs }; +export { mjs }; +export { type }; +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module", +} +//// [package.json] +{ + "name": "inner", + "private": true, + "exports": { + "./cjs/*.cjs": "./*.cjs", + "./mjs/*.mjs": "./*.mjs", + "./js/*.js": "./*.js" + } +} + +//// [index.js] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.mjs] +// esm format file +import * as cjsi from "inner/cjs/index.cjs"; +import * as mjsi from "inner/mjs/index.mjs"; +import * as typei from "inner/js/index.js"; +cjsi; +mjsi; +typei; +//// [index.cjs] +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || (function () { + var ownKeys = function(o) { + ownKeys = Object.getOwnPropertyNames || function (o) { + var ar = []; + for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; + return ar; + }; + return ownKeys(o); + }; + return function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); + __setModuleDefault(result, mod); + return result; + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +// cjs format file +const cjsi = __importStar(require("inner/cjs/index.cjs")); +const mjsi = __importStar(require("inner/mjs/index.mjs")); +const typei = __importStar(require("inner/js/index.js")); +cjsi; +mjsi; +typei; + + +//// [index.d.ts] +export {}; +//// [index.d.mts] +export {}; +//// [index.d.cts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node16).js new file mode 100644 index 0000000000..3ea5819786 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node16).js @@ -0,0 +1,68 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsSynchronousCallErrors.ts] //// + +//// [index.js] +// cjs format file +import {h} from "../index.js"; +import mod = require("../index.js"); +import {f as _f} from "./index.js"; +import mod2 = require("./index.js"); +export async function f() { + const mod3 = await import ("../index.js"); + const mod4 = await import ("./index.js"); + h(); +} +//// [index.js] +// esm format file +import {h as _h} from "./index.js"; +import mod = require("./index.js"); +import {f} from "./subfolder/index.js"; +import mod2 = require("./subfolder/index.js"); +export async function h() { + const mod3 = await import ("./index.js"); + const mod4 = await import ("./subfolder/index.js"); + f(); +} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +// esm format file +import { h as _h } from "./index.js"; +const mod = __require("./index.js"); +import { f } from "./subfolder/index.js"; +const mod2 = __require("./subfolder/index.js"); +export async function h() { + const mod3 = await import("./index.js"); + const mod4 = await import("./subfolder/index.js"); + f(); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.f = f; +// cjs format file +const index_js_1 = require("../index.js"); +const mod = require("../index.js"); +const index_js_2 = require("./index.js"); +const mod2 = require("./index.js"); +async function f() { + const mod3 = await import("../index.js"); + const mod4 = await import("./index.js"); + (0, index_js_1.h)(); +} + + +//// [index.d.ts] +export declare function h(): Promise; +//// [index.d.ts] +export declare function f(): Promise; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node16).js.diff new file mode 100644 index 0000000000..d81e376bce --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node16).js.diff @@ -0,0 +1,11 @@ +--- old.nodeModulesAllowJsSynchronousCallErrors(module=node16).js ++++ new.nodeModulesAllowJsSynchronousCallErrors(module=node16).js +@@= skipped -62, +62 lines =@@ + + + //// [index.d.ts] +-export function h(): Promise; ++export declare function h(): Promise; + //// [index.d.ts] +-export function f(): Promise; ++export declare function f(): Promise; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node18).js new file mode 100644 index 0000000000..df11fc187e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node18).js @@ -0,0 +1,69 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsSynchronousCallErrors.ts] //// + +//// [index.js] +// cjs format file +import {h} from "../index.js"; +import mod = require("../index.js"); +import {f as _f} from "./index.js"; +import mod2 = require("./index.js"); +export async function f() { + const mod3 = await import ("../index.js"); + const mod4 = await import ("./index.js"); + h(); +} +//// [index.js] +// esm format file +import {h as _h} from "./index.js"; +import mod = require("./index.js"); +import {f} from "./subfolder/index.js"; +import mod2 = require("./subfolder/index.js"); +export async function h() { + const mod3 = await import ("./index.js"); + const mod4 = await import ("./subfolder/index.js"); + f(); +} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.h = h; +// esm format file +const index_js_1 = require("./index.js"); +const mod = require("./index.js"); +const index_js_2 = require("./subfolder/index.js"); +const mod2 = require("./subfolder/index.js"); +async function h() { + const mod3 = await import("./index.js"); + const mod4 = await import("./subfolder/index.js"); + (0, index_js_2.f)(); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.f = f; +// cjs format file +const index_js_1 = require("../index.js"); +const mod = require("../index.js"); +const index_js_2 = require("./index.js"); +const mod2 = require("./index.js"); +async function f() { + const mod3 = await import("../index.js"); + const mod4 = await import("./index.js"); + (0, index_js_1.h)(); +} + + +//// [index.d.ts] +export declare function h(): Promise; +//// [index.d.ts] +export declare function f(): Promise; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node18).js.diff new file mode 100644 index 0000000000..2db2a9c034 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=node18).js.diff @@ -0,0 +1,38 @@ +--- old.nodeModulesAllowJsSynchronousCallErrors(module=node18).js ++++ new.nodeModulesAllowJsSynchronousCallErrors(module=node18).js +@@= skipped -33, +33 lines =@@ + } + + //// [index.js] +-import { createRequire as _createRequire } from "module"; +-const __require = _createRequire(import.meta.url); ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.h = h; + // esm format file +-import { h as _h } from "./index.js"; +-const mod = __require("./index.js"); +-import { f } from "./subfolder/index.js"; +-const mod2 = __require("./subfolder/index.js"); +-export async function h() { ++const index_js_1 = require("./index.js"); ++const mod = require("./index.js"); ++const index_js_2 = require("./subfolder/index.js"); ++const mod2 = require("./subfolder/index.js"); ++async function h() { + const mod3 = await import("./index.js"); + const mod4 = await import("./subfolder/index.js"); +- f(); ++ (0, index_js_2.f)(); + } + //// [index.js] + "use strict"; +@@= skipped -29, +30 lines =@@ + + + //// [index.d.ts] +-export function h(): Promise; ++export declare function h(): Promise; + //// [index.d.ts] +-export function f(): Promise; ++export declare function f(): Promise; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js new file mode 100644 index 0000000000..3ea5819786 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js @@ -0,0 +1,68 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsSynchronousCallErrors.ts] //// + +//// [index.js] +// cjs format file +import {h} from "../index.js"; +import mod = require("../index.js"); +import {f as _f} from "./index.js"; +import mod2 = require("./index.js"); +export async function f() { + const mod3 = await import ("../index.js"); + const mod4 = await import ("./index.js"); + h(); +} +//// [index.js] +// esm format file +import {h as _h} from "./index.js"; +import mod = require("./index.js"); +import {f} from "./subfolder/index.js"; +import mod2 = require("./subfolder/index.js"); +export async function h() { + const mod3 = await import ("./index.js"); + const mod4 = await import ("./subfolder/index.js"); + f(); +} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +import { createRequire as _createRequire } from "module"; +const __require = _createRequire(import.meta.url); +// esm format file +import { h as _h } from "./index.js"; +const mod = __require("./index.js"); +import { f } from "./subfolder/index.js"; +const mod2 = __require("./subfolder/index.js"); +export async function h() { + const mod3 = await import("./index.js"); + const mod4 = await import("./subfolder/index.js"); + f(); +} +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.f = f; +// cjs format file +const index_js_1 = require("../index.js"); +const mod = require("../index.js"); +const index_js_2 = require("./index.js"); +const mod2 = require("./index.js"); +async function f() { + const mod3 = await import("../index.js"); + const mod4 = await import("./index.js"); + (0, index_js_1.h)(); +} + + +//// [index.d.ts] +export declare function h(): Promise; +//// [index.d.ts] +export declare function f(): Promise; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js.diff new file mode 100644 index 0000000000..155750de11 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js.diff @@ -0,0 +1,11 @@ +--- old.nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js ++++ new.nodeModulesAllowJsSynchronousCallErrors(module=nodenext).js +@@= skipped -62, +62 lines =@@ + + + //// [index.d.ts] +-export function h(): Promise; ++export declare function h(): Promise; + //// [index.d.ts] +-export function f(): Promise; ++export declare function f(): Promise; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node16).js new file mode 100644 index 0000000000..d7e534e7c4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node16).js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsTopLevelAwait.ts] //// + +//// [index.js] +// cjs format file +const x = await 1; +export {x}; +for await (const y of []) {} +//// [index.js] +// esm format file +const x = await 1; +export {x}; +for await (const y of []) {} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = await 1; +exports.x = x; +for await (const y of []) { } +//// [index.js] +// esm format file +const x = await 1; +export { x }; +for await (const y of []) { } + + +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node16).js.diff new file mode 100644 index 0000000000..873e3df6c7 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node16).js.diff @@ -0,0 +1,15 @@ +--- old.nodeModulesAllowJsTopLevelAwait(module=node16).js ++++ new.nodeModulesAllowJsTopLevelAwait(module=node16).js +@@= skipped -36, +36 lines =@@ + + + //// [index.d.ts] +-export const x: 1; ++// cjs format file ++declare const x = 1; ++export { x }; + //// [index.d.ts] +-export const x: 1; ++// esm format file ++declare const x = 1; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node18).js new file mode 100644 index 0000000000..83ba969813 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node18).js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsTopLevelAwait.ts] //// + +//// [index.js] +// cjs format file +const x = await 1; +export {x}; +for await (const y of []) {} +//// [index.js] +// esm format file +const x = await 1; +export {x}; +for await (const y of []) {} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = await 1; +exports.x = x; +for await (const y of []) { } +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// esm format file +const x = await 1; +exports.x = x; +for await (const y of []) { } + + +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node18).js.diff new file mode 100644 index 0000000000..05093d7f3f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=node18).js.diff @@ -0,0 +1,26 @@ +--- old.nodeModulesAllowJsTopLevelAwait(module=node18).js ++++ new.nodeModulesAllowJsTopLevelAwait(module=node18).js +@@= skipped -29, +29 lines =@@ + exports.x = x; + for await (const y of []) { } + //// [index.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++exports.x = void 0; + // esm format file + const x = await 1; +-export { x }; ++exports.x = x; + for await (const y of []) { } + + + //// [index.d.ts] +-export const x: 1; ++// cjs format file ++declare const x = 1; ++export { x }; + //// [index.d.ts] +-export const x: 1; ++// esm format file ++declare const x = 1; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=nodenext).js new file mode 100644 index 0000000000..d7e534e7c4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=nodenext).js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/node/allowJs/nodeModulesAllowJsTopLevelAwait.ts] //// + +//// [index.js] +// cjs format file +const x = await 1; +export {x}; +for await (const y of []) {} +//// [index.js] +// esm format file +const x = await 1; +export {x}; +for await (const y of []) {} +//// [package.json] +{ + "name": "package", + "private": true, + "type": "module" +} +//// [package.json] +{ + "type": "commonjs" +} + +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +// cjs format file +const x = await 1; +exports.x = x; +for await (const y of []) { } +//// [index.js] +// esm format file +const x = await 1; +export { x }; +for await (const y of []) { } + + +//// [index.d.ts] +// cjs format file +declare const x = 1; +export { x }; +//// [index.d.ts] +// esm format file +declare const x = 1; +export { x }; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=nodenext).js.diff new file mode 100644 index 0000000000..4499e86013 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsTopLevelAwait(module=nodenext).js.diff @@ -0,0 +1,15 @@ +--- old.nodeModulesAllowJsTopLevelAwait(module=nodenext).js ++++ new.nodeModulesAllowJsTopLevelAwait(module=nodenext).js +@@= skipped -36, +36 lines =@@ + + + //// [index.d.ts] +-export const x: 1; ++// cjs format file ++declare const x = 1; ++export { x }; + //// [index.d.ts] +-export const x: 1; ++// esm format file ++declare const x = 1; ++export { x }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js new file mode 100644 index 0000000000..0432572e6c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js @@ -0,0 +1,49 @@ +//// [tests/cases/conformance/node/nodeModulesCJSEmit1.ts] //// + +//// [1.cjs] +module.exports = {}; + +//// [2.cjs] +exports.foo = 0; + +//// [3.cjs] +import "foo"; +exports.foo = {}; + +//// [4.cjs] +; + +//// [5.cjs] +import two from "./2.cjs"; // ok +import three from "./3.cjs"; // error +two.foo; +three.foo; + + +//// [1.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export = {}; +module.exports = {}; +//// [2.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; +exports.foo = 0; +//// [3.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("foo"); +export var foo = {}; +exports.foo = {}; +//// [4.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +; +//// [5.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const _2_cjs_1 = require("./2.cjs"); // ok +const _3_cjs_1 = require("./3.cjs"); // error +_2_cjs_1.default.foo; +_3_cjs_1.default.foo; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff new file mode 100644 index 0000000000..9c47d84aa9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff @@ -0,0 +1,36 @@ +--- old.nodeModulesCJSEmit1(module=node18).js ++++ new.nodeModulesCJSEmit1(module=node18).js +@@= skipped -21, +21 lines =@@ + + //// [1.cjs] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export = {}; + module.exports = {}; + //// [2.cjs] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var foo = 0; + exports.foo = 0; + //// [3.cjs] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + require("foo"); ++export var foo = {}; + exports.foo = {}; + //// [4.cjs] + "use strict"; +@@= skipped -15, +20 lines =@@ + ; + //// [5.cjs] + "use strict"; +-var __importDefault = (this && this.__importDefault) || function (mod) { +- return (mod && mod.__esModule) ? mod : { "default": mod }; +-}; + Object.defineProperty(exports, "__esModule", { value: true }); +-const _2_cjs_1 = __importDefault(require("./2.cjs")); // ok +-const _3_cjs_1 = __importDefault(require("./3.cjs")); // error ++const _2_cjs_1 = require("./2.cjs"); // ok ++const _3_cjs_1 = require("./3.cjs"); // error + _2_cjs_1.default.foo; + _3_cjs_1.default.foo; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js new file mode 100644 index 0000000000..41870a452e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js @@ -0,0 +1,52 @@ +//// [tests/cases/conformance/node/nodeModulesCJSEmit1.ts] //// + +//// [1.cjs] +module.exports = {}; + +//// [2.cjs] +exports.foo = 0; + +//// [3.cjs] +import "foo"; +exports.foo = {}; + +//// [4.cjs] +; + +//// [5.cjs] +import two from "./2.cjs"; // ok +import three from "./3.cjs"; // error +two.foo; +three.foo; + + +//// [1.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export = {}; +module.exports = {}; +//// [2.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; +exports.foo = 0; +//// [3.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("foo"); +export var foo = {}; +exports.foo = {}; +//// [4.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +; +//// [5.cjs] +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const _2_cjs_1 = __importDefault(require("./2.cjs")); // ok +const _3_cjs_1 = __importDefault(require("./3.cjs")); // error +_2_cjs_1.default.foo; +_3_cjs_1.default.foo; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff new file mode 100644 index 0000000000..5c15cd3392 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff @@ -0,0 +1,22 @@ +--- old.nodeModulesCJSEmit1(module=nodenext).js ++++ new.nodeModulesCJSEmit1(module=nodenext).js +@@= skipped -21, +21 lines =@@ + + //// [1.cjs] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export = {}; + module.exports = {}; + //// [2.cjs] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); ++export var foo = 0; + exports.foo = 0; + //// [3.cjs] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + require("foo"); ++export var foo = {}; + exports.foo = {}; + //// [4.cjs] + "use strict"; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/overloadTag1.js b/testdata/baselines/reference/submodule/conformance/overloadTag1.js new file mode 100644 index 0000000000..9d18b3fd0b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/overloadTag1.js @@ -0,0 +1,127 @@ +//// [tests/cases/conformance/jsdoc/overloadTag1.ts] //// + +//// [overloadTag1.js] +/** + * @overload + * @param {number} a + * @param {number} b + * @returns {number} + * + * @overload + * @param {string} a + * @param {boolean} b + * @returns {string} + * + * @param {string | number} a + * @param {string | number} b + * @returns {string | number} + */ +export function overloaded(a,b) { + if (typeof a === "string" && typeof b === "string") { + return a + b; + } else if (typeof a === "number" && typeof b === "number") { + return a + b; + } + throw new Error("Invalid arguments"); +} +var o1 = overloaded(1,2) +var o2 = overloaded("zero", "one") +var o3 = overloaded("a",false) + +/** + * @overload + * @param {number} a + * @param {number} b + * @returns {number} + * + * @overload + * @param {string} a + * @param {boolean} b + * @returns {string} + */ +export function uncheckedInternally(a, b) { + return a + b; +} +uncheckedInternally(1,2) +uncheckedInternally("zero", "one") + + +//// [overloadTag1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.overloaded = overloaded; +exports.uncheckedInternally = uncheckedInternally; +/** + * @overload + * @param {number} a + * @param {number} b + * @returns {number} + * + * @overload + * @param {string} a + * @param {boolean} b + * @returns {string} + * + * @param {string | number} a + * @param {string | number} b + * @returns {string | number} + */ +function overloaded(a, b) { + if (typeof a === "string" && typeof b === "string") { + return a + b; + } + else if (typeof a === "number" && typeof b === "number") { + return a + b; + } + throw new Error("Invalid arguments"); +} +var o1 = overloaded(1, 2); +var o2 = overloaded("zero", "one"); +var o3 = overloaded("a", false); +/** + * @overload + * @param {number} a + * @param {number} b + * @returns {number} + * + * @overload + * @param {string} a + * @param {boolean} b + * @returns {string} + */ +function uncheckedInternally(a, b) { + return a + b; +} +uncheckedInternally(1, 2); +uncheckedInternally("zero", "one"); + + +//// [overloadTag1.d.ts] +/** + * @overload + * @param {number} a + * @param {number} b + * @returns {number} + * + * @overload + * @param {string} a + * @param {boolean} b + * @returns {string} + * + * @param {string | number} a + * @param {string | number} b + * @returns {string | number} + */ +export declare function overloaded(a: string | number, b: string | number): string | number; +/** + * @overload + * @param {number} a + * @param {number} b + * @returns {number} + * + * @overload + * @param {string} a + * @param {boolean} b + * @returns {string} + */ +export declare function uncheckedInternally(a: any, b: any): any; diff --git a/testdata/baselines/reference/submodule/conformance/overloadTag1.js.diff b/testdata/baselines/reference/submodule/conformance/overloadTag1.js.diff new file mode 100644 index 0000000000..cfa83a0658 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/overloadTag1.js.diff @@ -0,0 +1,60 @@ +--- old.overloadTag1.js ++++ new.overloadTag1.js +@@= skipped -111, +111 lines =@@ + * @param {string | number} b + * @returns {string | number} + */ +-export function overloaded(a: number, b: number): number; +-/** +- * @overload +- * @param {number} a +- * @param {number} b +- * @returns {number} +- * +- * @overload +- * @param {string} a +- * @param {boolean} b +- * @returns {string} +- * +- * @param {string | number} a +- * @param {string | number} b +- * @returns {string | number} +- */ +-export function overloaded(a: string, b: boolean): string; +-/** +- * @overload +- * @param {number} a +- * @param {number} b +- * @returns {number} +- * +- * @overload +- * @param {string} a +- * @param {boolean} b +- * @returns {string} +- */ +-export function uncheckedInternally(a: number, b: number): number; +-/** +- * @overload +- * @param {number} a +- * @param {number} b +- * @returns {number} +- * +- * @overload +- * @param {string} a +- * @param {boolean} b +- * @returns {string} +- */ +-export function uncheckedInternally(a: string, b: boolean): string; ++export declare function overloaded(a: string | number, b: string | number): string | number; ++/** ++ * @overload ++ * @param {number} a ++ * @param {number} b ++ * @returns {number} ++ * ++ * @overload ++ * @param {string} a ++ * @param {boolean} b ++ * @returns {string} ++ */ ++export declare function uncheckedInternally(a: any, b: any): any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/overloadTag2.js b/testdata/baselines/reference/submodule/conformance/overloadTag2.js new file mode 100644 index 0000000000..8e03c4882c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/overloadTag2.js @@ -0,0 +1,80 @@ +//// [tests/cases/conformance/jsdoc/overloadTag2.ts] //// + +//// [overloadTag2.js] +export class Foo { + #a = true ? 1 : "1" + #b + + /** + * Should not have an implicit any error, because constructor's return type is always implicit + * @constructor + * @overload + * @param {string} a + * @param {number} b + */ + /** + * @constructor + * @overload + * @param {number} a + */ + /** + * @constructor + * @overload + * @param {string} a + *//** + * @constructor + * @param {number | string} a + */ + constructor(a, b) { + this.#a = a + this.#b = b + } +} +var a = new Foo() +var b = new Foo('str') +var c = new Foo(2) +var d = new Foo('str', 2) + + +//// [overloadTag2.js] +export class Foo { + #a = true ? 1 : "1"; + #b; + /** + * Should not have an implicit any error, because constructor's return type is always implicit + * @constructor + * @overload + * @param {string} a + * @param {number} b + */ + /** + * @constructor + * @overload + * @param {number} a + */ + /** + * @constructor + * @overload + * @param {string} a + */ /** + * @constructor + * @param {number | string} a + */ + constructor(a, b) { + this.#a = a; + this.#b = b; + } +} +var a = new Foo(); +var b = new Foo('str'); +var c = new Foo(2); +var d = new Foo('str', 2); + + +//// [overloadTag2.d.ts] +export declare class Foo { + #private; + constructor(a: string, b: number); + constructor(a: number); + constructor(a: string); +} diff --git a/testdata/baselines/reference/submodule/conformance/overloadTag2.js.diff b/testdata/baselines/reference/submodule/conformance/overloadTag2.js.diff new file mode 100644 index 0000000000..cdc90d2751 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/overloadTag2.js.diff @@ -0,0 +1,31 @@ +--- old.overloadTag2.js ++++ new.overloadTag2.js +@@= skipped -71, +71 lines =@@ + + + //// [overloadTag2.d.ts] +-export class Foo { +- /** +- * Should not have an implicit any error, because constructor's return type is always implicit +- * @constructor +- * @overload +- * @param {string} a +- * @param {number} b +- */ ++export declare class Foo { ++ #private; + constructor(a: string, b: number); +- /** +- * @constructor +- * @overload +- * @param {number} a +- */ + constructor(a: number); +- /** +- * @constructor +- * @overload +- * @param {string} a +- */ + constructor(a: string); +- #private; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression10.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression10.js new file mode 100644 index 0000000000..9109ef6971 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression10.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression10.ts] //// + +//// [fileJs.js] +a ? (b) : c => (d) : e => f // Not legal JS; "Unexpected token ':'" at last colon + +//// [fileTs.ts] +a ? (b) : c => (d) : e => f + + +//// [fileJs.js] +a ? (b) => (d) : e => f; // Not legal JS; "Unexpected token ':'" at last colon +//// [fileTs.js] +a ? (b) => (d) : e => f; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression11.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression11.js new file mode 100644 index 0000000000..4b3d15555a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression11.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression11.ts] //// + +//// [fileJs.js] +a ? b ? c : (d) : e => f // Legal JS + +//// [fileTs.ts] +a ? b ? c : (d) : e => f + + +//// [fileJs.js] +a ? b ? c : (d) : e => f; // Legal JS +//// [fileTs.js] +a ? b ? c : (d) : e => f; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression12.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression12.js new file mode 100644 index 0000000000..727fb88815 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression12.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression12.ts] //// + +//// [fileJs.js] +a ? (b) => (c): d => e // Legal JS + +//// [fileTs.ts] +a ? (b) => (c): d => e + + +//// [fileJs.js] +a ? (b) => (c) : d => e; // Legal JS +//// [fileTs.js] +a ? (b) => (c) : d => e; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression13.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression13.js new file mode 100644 index 0000000000..d0ecd1f3fd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression13.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression13.ts] //// + +//// [fileJs.js] +a ? () => a() : (): any => null; // Not legal JS; "Unexpected token ')'" at last paren + +//// [fileTs.ts] +a ? () => a() : (): any => null; + + +//// [fileJs.js] +a ? () => a() : () => null; // Not legal JS; "Unexpected token ')'" at last paren +//// [fileTs.js] +a ? () => a() : () => null; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression14.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression14.js new file mode 100644 index 0000000000..7c4da63e4d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression14.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression14.ts] //// + +//// [fileJs.js] +a() ? (b: number, c?: string): void => d() : e; // Not legal JS; "Unexpected token ':'" at first colon + +//// [fileTs.ts] +a() ? (b: number, c?: string): void => d() : e; + + +//// [fileJs.js] +a() ? (b, c) => d() : e; // Not legal JS; "Unexpected token ':'" at first colon +//// [fileTs.js] +a() ? (b, c) => d() : e; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression15.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression15.js new file mode 100644 index 0000000000..00eb062bed --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression15.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression15.ts] //// + +//// [fileJs.js] +false ? (param): string => param : null // Not legal JS; "Unexpected token ':'" at last colon + +//// [fileTs.ts] +false ? (param): string => param : null + + +//// [fileJs.js] +false ? (param) => param : null; // Not legal JS; "Unexpected token ':'" at last colon +//// [fileTs.js] +false ? (param) => param : null; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression16.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression16.js new file mode 100644 index 0000000000..8c7861c2dd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression16.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression16.ts] //// + +//// [fileJs.js] +true ? false ? (param): string => param : null : null // Not legal JS; "Unexpected token ':'" at last colon + +//// [fileTs.ts] +true ? false ? (param): string => param : null : null + + +//// [fileJs.js] +true ? false ? (param) => param : null : null; // Not legal JS; "Unexpected token ':'" at last colon +//// [fileTs.js] +true ? false ? (param) => param : null : null; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression17.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression17.js new file mode 100644 index 0000000000..469c9e2b85 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression17.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression17.ts] //// + +//// [fileJs.js] +a ? b : (c) : d => e // Not legal JS; "Unexpected token ':'" at last colon + +//// [fileTs.ts] +a ? b : (c) : d => e + + +//// [fileJs.js] +a ? b : (c) => e; // Not legal JS; "Unexpected token ':'" at last colon +//// [fileTs.js] +a ? b : (c) => e; diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression8.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression8.js new file mode 100644 index 0000000000..e116ee9c9a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression8.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression8.ts] //// + +//// [fileJs.js] +x ? y => ({ y }) : z => ({ z }) // Legal JS + +//// [fileTs.ts] +x ? y => ({ y }) : z => ({ z }) + + +//// [fileJs.js] +x ? y => ({ y }) : z => ({ z }); // Legal JS +//// [fileTs.js] +x ? y => ({ y }) : z => ({ z }); diff --git a/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression9.js b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression9.js new file mode 100644 index 0000000000..891fd4914f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/parserArrowFunctionExpression9.js @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression9.ts] //// + +//// [fileJs.js] +b ? (c) : d => e // Legal JS + +//// [fileTs.ts] +b ? (c) : d => e + + +//// [fileJs.js] +b ? (c) : d => e; // Legal JS +//// [fileTs.js] +b ? (c) : d => e; diff --git a/testdata/baselines/reference/submodule/conformance/plainJSBinderErrors.js b/testdata/baselines/reference/submodule/conformance/plainJSBinderErrors.js new file mode 100644 index 0000000000..83ff55ebfa --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSBinderErrors.js @@ -0,0 +1,86 @@ +//// [tests/cases/conformance/salsa/plainJSBinderErrors.ts] //// + +//// [plainJSBinderErrors.js] +export default 12 +export default 13 +const await = 1 +const yield = 2 +async function f() { + const await = 3 +} +function* g() { + const yield = 4 +} +class C { + #constructor = 5 + deleted() { + function container(f) { + delete f + } + var g = 6 + delete g + delete container + } + evalArguments() { + const eval = 7 + const arguments = 8 + } + withOctal() { + const redundant = 0o10 + with (redundant) { + return toFixed() + } + } + label() { + for(;;) { + label: var x = 1 + break label + } + return x + } +} +const eval = 9 +const arguments = 10 + + +//// [plainJSBinderErrors.js] +export default 12; +export default 13; +const await = 1; +const yield = 2; +async function f() { + const await = 3; +} +function* g() { + const yield = 4; +} +class C { + #constructor = 5; + deleted() { + function container(f) { + delete f; + } + var g = 6; + delete g; + delete container; + } + evalArguments() { + const eval = 7; + const arguments = 8; + } + withOctal() { + const redundant = 0o10; + with (redundant) { + return toFixed(); + } + } + label() { + for (;;) { + label: var x = 1; + break label; + } + return x; + } +} +const eval = 9; +const arguments = 10; diff --git a/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors.js b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors.js new file mode 100644 index 0000000000..eccd22d9e6 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors.js @@ -0,0 +1,410 @@ +//// [tests/cases/conformance/salsa/plainJSGrammarErrors.ts] //// + +//// [plainJSGrammarErrors.js] +class C { + // #private mistakes + q = #unbound + m() { + #p + if (#po in this) { + } + } + #m() { + this.#m = () => {} + } + // await in static block + static { + for await (const x of [1,2,3]) { + console.log(x) + } + return null + } + // modifier mistakes + static constructor() { } + async constructor() { } + const x = 1 + const y() { + return 12 + } + async async extremelyAsync() { + } + async static oorder(){ } + export cantExportProperty = 1 + export cantExportMethod() { + } + + // accessor mistakes + get incorporeal(); + get parametric(n) { return 1 } + set invariant() { } + set binary(fst, snd) { } + set variable(...n) { } + + // other + "constructor" = 16 +} +class { + missingName = true +} +class Doubler extends C extends C { } +class Trebler extends C,C,C { } +// #private mistakes +#unrelated +junk.#m +new C().#m + +// modifier mistakes +export export var extremelyExported = 10 +export static var staticExport = 1 +function staticParam(static x = 1) { return x } +async export function oorder(x = 1) { return x } +function cantExportParam(export x = 1) { return x } +function cantAsyncParam(async x = 1) { return x } +async async function extremelyAsync() {} +async class CantAsyncClass { + async cantAsyncPropert = 1 +} +async const cantAsyncConst = 2 +async import 'assert' +async export { CantAsyncClass } +export import 'fs' +export export { C } +function nestedExports() { + export { staticParam } + import 'fs' + export default 12 +} +function outerStaticFunction() { + static function staticFunction() { } +} +const noStaticLiteralMethods = { + static m() { + } +} + +// rest parameters +function restMustBeLast(...x, y) { +} +function restCantHaveInitialiser(...x = [1,2,3]) { +} +function restCantHaveTrailingComma (...x,) { +} +;({ ...{} } = {}) +const doom = { e: 1, m: 1, name: "knee-deep" } +const { ...rest, e: episode, m: mission } = doom +const { e: eep, m: em, ...rest: noRestAllowed } = doom +const { e: erp, m: erm, ...noInitialiser = true } = doom + +// left-over parsing +var; +var x = 1 || 2 ?? 3 +var x = 2 ?? 3 || 4 +const arr = x + => x + 1 +var a = [1,2] +a?.`length`; +const o = { + [console.log('oh no'),2]: 'hi', + #noPrivate: 3, + export cantExportProperties: 4, + // TODO: See what the existing JS error is like for these + cantHaveQuestionMark?: 1, + m?() { return 12 }, + definitely!, + definiteMethod!() { return 13 }, +} +const noAssignment = { + assignment = 1, +} +var noTrailingComma = 1,; +class MissingExtends extends { } + +// let/const mistakes +const { e: ee }; +const noInit; +let let = 15; +if (true) + let onlyBlockLet = 17; +if (true) + const onlyBlockConst = 18; + +// loop mistakes +let async +export const l = [1,2,3] +for (async of l) { + console.log(x) +} +for (const cantHaveInit = 1 of [1,2,3]) { + console.log(cantHaveInit) +} +for (const cantHaveInit = 1 in [1,2,3]) { + console.log(cantHaveInit) +} +for (let y, x of [1,2,3]) { + console.log(x) +} +for (let y, x in [1,2,3]) { + console.log(x) +} + +// duplication mistakes +var b +switch (b) { + case false: + console.log('no') + default: + console.log('yes') + default: + console.log('wat') +} +try { + throw 2 +} +catch (e) { + const e = 1 + console.log(e) +} +try { + throw 20 +} +catch (e = 0) { +} +label: for (const x in [1,2,3]) { + label: for (const y in [1,2,3]) { + break label; + } +} + +// labels +function crossFunctionBoundary() { + outer: for(;;) { + function test() { + break outer + } + test() + } +} +function continueIterationOnly(x) { + outer: switch (x) { + case 1: + continue outer + } +} +function jumpToLabelOnly(x) { + break jumpToLabelOnly +} +for (;;) { + break toplevel + continue toplevel +} +break +continue + +// other weirdness +export let noMeta = import.metal +function foo() { new.targe } +const nullaryDynamicImport = import() +const trinaryDynamicImport = import('1', '2', '3') +const spreadDynamicImport = import(...[]) + +return + + +//// [plainJSGrammarErrors.js] +class C { + // #private mistakes + q = #unbound; + m() { + #p; + if (#po in this) { + } + } + #m() { + this.#m = () => { }; + } + // await in static block + static { + for await (const x of [1, 2, 3]) { + console.log(x); + } + return null; + } + // modifier mistakes + static constructor() { } + async constructor() { } + x = 1; + y() { + return 12; + } + async async extremelyAsync() { + } + async static oorder() { } + export cantExportProperty = 1; + export cantExportMethod() { + } + get parametric(n) { return 1; } + set invariant() { } + set binary(fst, snd) { } + set variable(...n) { } + // other + "constructor" = 16; +} +class { + missingName = true; +} +class Doubler extends C extends C { +} +class Trebler extends C, C, C { +} +// #private mistakes +#unrelated; +junk.#m; +new C().#m; +// modifier mistakes +export export var extremelyExported = 10; +export static var staticExport = 1; +function staticParam(static x = 1) { return x; } +async export function oorder(x = 1) { return x; } +function cantExportParam(x = 1) { return x; } +function cantAsyncParam(async x = 1) { return x; } +async async function extremelyAsync() { } +async class CantAsyncClass { + async cantAsyncPropert = 1; +} +async const cantAsyncConst = 2; +async import 'assert'; +async export { CantAsyncClass }; +export import 'fs'; +export { C }; +function nestedExports() { + export { staticParam }; + import 'fs'; + export default 12; +} +function outerStaticFunction() { + static function staticFunction() { } +} +const noStaticLiteralMethods = { + static m() { + } +}; +// rest parameters +function restMustBeLast(...x, y) { +} +function restCantHaveInitialiser(...x = [1, 2, 3]) { +} +function restCantHaveTrailingComma(...x) { +} +; +({ ...{} } = {}); +const doom = { e: 1, m: 1, name: "knee-deep" }; +const { ...rest, e: episode, m: mission } = doom; +const { e: eep, m: em, ...rest: noRestAllowed } = doom; +const { e: erp, m: erm, ...noInitialiser = true } = doom; +// left-over parsing +var ; +var x = (1 || 2) ?? 3; +var x = 2 ?? (3 || 4); +const arr = x => x + 1; +var a = [1, 2]; +a `length`; +const o = { + [(console.log('oh no'), 2)]: 'hi', + #noPrivate: 3, + cantExportProperties: 4, + // TODO: See what the existing JS error is like for these + cantHaveQuestionMark: 1, + m() { return 12; }, + definitely, + definiteMethod() { return 13; }, +}; +const noAssignment = { + assignment = 1, +}; +var noTrailingComma = 1; +class MissingExtends extends { +} +// let/const mistakes +const { e: ee }; +const noInit; +let let = 15; +if (true) + let onlyBlockLet = 17; +if (true) + const onlyBlockConst = 18; +// loop mistakes +let async; +export const l = [1, 2, 3]; +for (async of l) { + console.log(x); +} +for (const cantHaveInit = 1 of [1, 2, 3]) { + console.log(cantHaveInit); +} +for (const cantHaveInit = 1 in [1, 2, 3]) { + console.log(cantHaveInit); +} +for (let y, x of [1, 2, 3]) { + console.log(x); +} +for (let y, x in [1, 2, 3]) { + console.log(x); +} +// duplication mistakes +var b; +switch (b) { + case false: + console.log('no'); + default: + console.log('yes'); + default: + console.log('wat'); +} +try { + throw 2; +} +catch (e) { + const e = 1; + console.log(e); +} +try { + throw 20; +} +catch (e = 0) { +} +label: for (const x in [1, 2, 3]) { + label: for (const y in [1, 2, 3]) { + break label; + } +} +// labels +function crossFunctionBoundary() { + outer: for (;;) { + function test() { + break outer; + } + test(); + } +} +function continueIterationOnly(x) { + outer: switch (x) { + case 1: + continue outer; + } +} +function jumpToLabelOnly(x) { + break jumpToLabelOnly; +} +for (;;) { + break toplevel; + continue toplevel; +} +break; +continue; +// other weirdness +export let noMeta = import.metal; +function foo() { new.targe; } +const nullaryDynamicImport = import(); +const trinaryDynamicImport = import('1', '2', '3'); +const spreadDynamicImport = import(...[]); +return; diff --git a/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors.js.diff b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors.js.diff new file mode 100644 index 0000000000..ff2c0bd52b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors.js.diff @@ -0,0 +1,57 @@ +--- old.plainJSGrammarErrors.js ++++ new.plainJSGrammarErrors.js +@@= skipped -229, +229 lines =@@ + return null; + } + // modifier mistakes +- constructor() { } +- constructor() { } ++ static constructor() { } ++ async constructor() { } + x = 1; + y() { + return 12; +@@= skipped -12, +12 lines =@@ + export cantExportProperty = 1; + export cantExportMethod() { + } +- // accessor mistakes +- get incorporeal() { } + get parametric(n) { return 1; } + set invariant() { } + set binary(fst, snd) { } +@@= skipped -25, +23 lines =@@ + export static var staticExport = 1; + function staticParam(static x = 1) { return x; } + async export function oorder(x = 1) { return x; } +-function cantExportParam(export x = 1) { return x; } ++function cantExportParam(x = 1) { return x; } + function cantAsyncParam(async x = 1) { return x; } + async async function extremelyAsync() { } + async class CantAsyncClass { +@@= skipped -8, +8 lines =@@ + } + async const cantAsyncConst = 2; + async import 'assert'; +-export { CantAsyncClass }; ++async export { CantAsyncClass }; + export import 'fs'; + export { C }; + function nestedExports() { +@@= skipped -30, +30 lines =@@ + const { e: erp, m: erm, ...noInitialiser = true } = doom; + // left-over parsing + var ; +-var x = 1 || 2 ?? 3; +-var x = 2 ?? 3 || 4; ++var x = (1 || 2) ?? 3; ++var x = 2 ?? (3 || 4); + const arr = x => x + 1; + var a = [1, 2]; + a `length`; + const o = { +- [console.log('oh no'), 2]: 'hi', ++ [(console.log('oh no'), 2)]: 'hi', + #noPrivate: 3, + cantExportProperties: 4, + // TODO: See what the existing JS error is like for these \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors2.js b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors2.js new file mode 100644 index 0000000000..501dd231c1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors2.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/salsa/plainJSGrammarErrors2.ts] //// + +//// [plainJSGrammarErrors2.js] + +//// [a.js] +export default 1; + +//// [b.js] +/** + * @deprecated + */ +export { default as A } from "./a"; + + +//// [plainJSGrammarErrors2.js] +//// [a.js] +export default 1; +//// [b.js] +/** + * @deprecated + */ +export { default as A } from "./a"; diff --git a/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors3.js b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors3.js new file mode 100644 index 0000000000..73d2b18935 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors3.js @@ -0,0 +1,15 @@ +//// [tests/cases/conformance/salsa/plainJSGrammarErrors3.ts] //// + +//// [plainJSGrammarErrors3.js] + +//// [a.js] +function foo() { + await new Promise(undefined); +} + + +//// [plainJSGrammarErrors3.js] +//// [a.js] +function foo() { + await new Promise(undefined); +} diff --git a/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors4.js b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors4.js new file mode 100644 index 0000000000..bced1d0c7f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSGrammarErrors4.js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/salsa/plainJSGrammarErrors4.ts] //// + +//// [plainJSGrammarErrors4.js] +class A { + #a; + m() { + this.#a; // ok + this.#b; // error + } +} + + +//// [plainJSGrammarErrors4.js] +class A { + #a; + m() { + this.#a; // ok + this.#b; // error + } +} diff --git a/testdata/baselines/reference/submodule/conformance/plainJSRedeclare.js b/testdata/baselines/reference/submodule/conformance/plainJSRedeclare.js new file mode 100644 index 0000000000..1aad0562eb --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSRedeclare.js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/salsa/plainJSRedeclare.ts] //// + +//// [plainJSRedeclare.js] +const orbitol = 1 +var orbitol = 1 + false +orbitol.toExponential() + + +//// [plainJSRedeclare.js] +const orbitol = 1; +var orbitol = 1 + false; +orbitol.toExponential(); diff --git a/testdata/baselines/reference/submodule/conformance/plainJSRedeclare2.js b/testdata/baselines/reference/submodule/conformance/plainJSRedeclare2.js new file mode 100644 index 0000000000..938b27e9ac --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSRedeclare2.js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/salsa/plainJSRedeclare2.ts] //// + +//// [plainJSRedeclare.js] +const orbitol = 1 +var orbitol = 1 + false +orbitol.toExponential() + + +//// [plainJSRedeclare.js] +const orbitol = 1; +var orbitol = 1 + false; +orbitol.toExponential(); diff --git a/testdata/baselines/reference/submodule/conformance/plainJSRedeclare3.js b/testdata/baselines/reference/submodule/conformance/plainJSRedeclare3.js new file mode 100644 index 0000000000..f61280e280 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSRedeclare3.js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/salsa/plainJSRedeclare3.ts] //// + +//// [plainJSRedeclare.js] +const orbitol = 1 +var orbitol = 1 + false +orbitol.toExponential() + + +//// [plainJSRedeclare.js] +const orbitol = 1; +var orbitol = 1 + false; +orbitol.toExponential(); diff --git a/testdata/baselines/reference/submodule/conformance/plainJSReservedStrict.js b/testdata/baselines/reference/submodule/conformance/plainJSReservedStrict.js new file mode 100644 index 0000000000..78d690171b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSReservedStrict.js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/salsa/plainJSReservedStrict.ts] //// + +//// [plainJSReservedStrict.js] +"use strict" +const eval = 1 +const arguments = 2 + + +//// [plainJSReservedStrict.js] +"use strict"; +const eval = 1; +const arguments = 2; diff --git a/testdata/baselines/reference/submodule/conformance/plainJSTypeErrors.js b/testdata/baselines/reference/submodule/conformance/plainJSTypeErrors.js new file mode 100644 index 0000000000..9760abb049 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/plainJSTypeErrors.js @@ -0,0 +1,15 @@ +//// [tests/cases/conformance/salsa/plainJSTypeErrors.ts] //// + +//// [plainJSTypeErrors.js] +// should error +if ({} === {}) {} + +// should not error +if ({} == {}) {} + + +//// [plainJSTypeErrors.js] +// should error +if ({} === {}) { } +// should not error +if ({} == {}) { } diff --git a/testdata/baselines/reference/submodule/conformance/privateConstructorFunction.js b/testdata/baselines/reference/submodule/conformance/privateConstructorFunction.js new file mode 100644 index 0000000000..783a1d4c71 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/privateConstructorFunction.js @@ -0,0 +1,28 @@ +//// [tests/cases/conformance/salsa/privateConstructorFunction.ts] //// + +//// [privateConstructorFunction.js] +{ + // make sure not to crash when parent's a block rather than a source file or some other + // symbol-having node. + + /** @private */ + function C() { + this.x = 1 + } + new C() +} + + +//// [privateConstructorFunction.js] +{ + // make sure not to crash when parent's a block rather than a source file or some other + // symbol-having node. + /** @private */ + function C() { + this.x = 1; + } + new C(); +} + + +//// [privateConstructorFunction.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/privateConstructorFunction.js.diff b/testdata/baselines/reference/submodule/conformance/privateConstructorFunction.js.diff new file mode 100644 index 0000000000..1551d05f8c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/privateConstructorFunction.js.diff @@ -0,0 +1,11 @@ +--- old.privateConstructorFunction.js ++++ new.privateConstructorFunction.js +@@= skipped -25, +25 lines =@@ + + + //// [privateConstructorFunction.d.ts] +-/** @private */ +-declare function C(): void; +-declare class C { +- x: number; +-} \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/privateIdentifierExpando.js b/testdata/baselines/reference/submodule/conformance/privateIdentifierExpando.js new file mode 100644 index 0000000000..417543fba0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/privateIdentifierExpando.js @@ -0,0 +1,11 @@ +//// [tests/cases/conformance/salsa/privateIdentifierExpando.ts] //// + +//// [privateIdentifierExpando.js] +const x = {}; +x.#bar.baz = 20; + + + + +//// [privateIdentifierExpando.d.ts] +declare const x: {}; diff --git a/testdata/baselines/reference/submodule/conformance/privateNamesIncompatibleModifiersJs.js b/testdata/baselines/reference/submodule/conformance/privateNamesIncompatibleModifiersJs.js new file mode 100644 index 0000000000..8af06915e9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/privateNamesIncompatibleModifiersJs.js @@ -0,0 +1,114 @@ +//// [tests/cases/conformance/classes/members/privateNames/privateNamesIncompatibleModifiersJs.ts] //// + +//// [privateNamesIncompatibleModifiersJs.js] +class A { + /** + * @public + */ + #a = 1; + + /** + * @private + */ + #b = 1; + + /** + * @protected + */ + #c = 1; + + /** + * @public + */ + #aMethod() { return 1; } + + /** + * @private + */ + #bMethod() { return 1; } + + /** + * @protected + */ + #cMethod() { return 1; } + + /** + * @public + */ + get #aProp() { return 1; } + /** + * @public + */ + set #aProp(value) { } + + /** + * @private + */ + get #bProp() { return 1; } + /** + * @private + */ + set #bProp(value) { } + + /** + * @protected + */ + get #cProp() { return 1; } + /** + * @protected + */ + set #cProp(value) { } +} + + +//// [privateNamesIncompatibleModifiersJs.js] +class A { + /** + * @public + */ + #a = 1; + /** + * @private + */ + #b = 1; + /** + * @protected + */ + #c = 1; + /** + * @public + */ + #aMethod() { return 1; } + /** + * @private + */ + #bMethod() { return 1; } + /** + * @protected + */ + #cMethod() { return 1; } + /** + * @public + */ + get #aProp() { return 1; } + /** + * @public + */ + set #aProp(value) { } + /** + * @private + */ + get #bProp() { return 1; } + /** + * @private + */ + set #bProp(value) { } + /** + * @protected + */ + get #cProp() { return 1; } + /** + * @protected + */ + set #cProp(value) { } +} diff --git a/testdata/baselines/reference/submodule/conformance/privateNamesIncompatibleModifiersJs.js.diff b/testdata/baselines/reference/submodule/conformance/privateNamesIncompatibleModifiersJs.js.diff new file mode 100644 index 0000000000..2cfcf8c3d0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/privateNamesIncompatibleModifiersJs.js.diff @@ -0,0 +1,74 @@ +--- old.privateNamesIncompatibleModifiersJs.js ++++ new.privateNamesIncompatibleModifiersJs.js +@@= skipped -61, +61 lines =@@ + + + //// [privateNamesIncompatibleModifiersJs.js] +-"use strict"; +-var _A_instances, _A_a, _A_b, _A_c, _A_aMethod, _A_bMethod, _A_cMethod, _A_aProp_get, _A_aProp_set, _A_bProp_get, _A_bProp_set, _A_cProp_get, _A_cProp_set; + class A { +- constructor() { +- _A_instances.add(this); +- /** +- * @public +- */ +- _A_a.set(this, 1); +- /** +- * @private +- */ +- _A_b.set(this, 1); +- /** +- * @protected +- */ +- _A_c.set(this, 1); +- } ++ /** ++ * @public ++ */ ++ #a = 1; ++ /** ++ * @private ++ */ ++ #b = 1; ++ /** ++ * @protected ++ */ ++ #c = 1; ++ /** ++ * @public ++ */ ++ #aMethod() { return 1; } ++ /** ++ * @private ++ */ ++ #bMethod() { return 1; } ++ /** ++ * @protected ++ */ ++ #cMethod() { return 1; } ++ /** ++ * @public ++ */ ++ get #aProp() { return 1; } ++ /** ++ * @public ++ */ ++ set #aProp(value) { } ++ /** ++ * @private ++ */ ++ get #bProp() { return 1; } ++ /** ++ * @private ++ */ ++ set #bProp(value) { } ++ /** ++ * @protected ++ */ ++ get #cProp() { return 1; } ++ /** ++ * @protected ++ */ ++ set #cProp(value) { } + } +-_A_a = new WeakMap(), _A_b = new WeakMap(), _A_c = new WeakMap(), _A_instances = new WeakSet(), _A_aMethod = function _A_aMethod() { return 1; }, _A_bMethod = function _A_bMethod() { return 1; }, _A_cMethod = function _A_cMethod() { return 1; }, _A_aProp_get = function _A_aProp_get() { return 1; }, _A_aProp_set = function _A_aProp_set(value) { }, _A_bProp_get = function _A_bProp_get() { return 1; }, _A_bProp_set = function _A_bProp_set(value) { }, _A_cProp_get = function _A_cProp_get() { return 1; }, _A_cProp_set = function _A_cProp_set(value) { }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.js b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.js new file mode 100644 index 0000000000..1c1c8328fd --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/salsa/reExportJsFromTs.ts] //// + +//// [constants.js] +module.exports = { + str: 'x', +}; + +//// [constants.ts] +import * as tsConstants from "../lib/constants"; +export { tsConstants }; + +//// [constants.js] +export = { + str: 'x', +}; +module.exports = { + str: 'x', +}; +//// [constants.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tsConstants = void 0; +const tsConstants = require("../lib/constants"); +exports.tsConstants = tsConstants; diff --git a/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.js.diff b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.js.diff new file mode 100644 index 0000000000..fd62e1eeac --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/reExportJsFromTs.js.diff @@ -0,0 +1,19 @@ +--- old.reExportJsFromTs.js ++++ new.reExportJsFromTs.js +@@= skipped -9, +9 lines =@@ + export { tsConstants }; + + //// [constants.js] ++export = { ++ str: 'x', ++}; + module.exports = { + str: 'x', + }; +@@= skipped -7, +10 lines =@@ + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports.tsConstants = void 0; +-var tsConstants = require("../lib/constants"); ++const tsConstants = require("../lib/constants"); + exports.tsConstants = tsConstants; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js new file mode 100644 index 0000000000..c2658b7dd0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js @@ -0,0 +1,79 @@ +//// [tests/cases/conformance/types/typeRelationships/recursiveTypes/recursiveTypeReferences2.ts] //// + +//// [bug39372.js] +/** @typedef {ReadonlyArray} JsonArray */ +/** @typedef {{ readonly [key: string]: Json }} JsonRecord */ +/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */ + +/** + * @template T + * @typedef {{ + $A: { + [K in keyof T]?: XMLObject[] + }, + $O: { + [K in keyof T]?: { + $$?: Record + } & (T[K] extends string ? {$:string} : XMLObject) + }, + $$?: Record, + } & { + [K in keyof T]?: ( + T[K] extends string ? string + : XMLObject + ) +}} XMLObject */ + +/** @type {XMLObject<{foo:string}>} */ +const p = {}; + + +//// [bug39372.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @typedef {ReadonlyArray} JsonArray */ +/** @typedef {{ readonly [key: string]: Json }} JsonRecord */ +/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */ +/** + * @template T + * @typedef {{ + $A: { + [K in keyof T]?: XMLObject[] + }, + $O: { + [K in keyof T]?: { + $$?: Record + } & (T[K] extends string ? {$:string} : XMLObject) + }, + $$?: Record, + } & { + [K in keyof T]?: ( + T[K] extends string ? string + : XMLObject + ) +}} XMLObject */ +/** @type {XMLObject<{foo:string}>} */ +const p = {}; + + +//// [bug39372.d.ts] +export type JsonArray = ReadonlyArray; +export type JsonRecord = { + readonly [key: string]: Json; +}; +export type Json = boolean | number | string | null | JsonRecord | JsonArray | readonly []; +export type XMLObject = { + $A: { + [K in keyof T]?: XMLObject[]; + }; + $O: { + [K in keyof T]?: { + $$?: Record; + } & (T[K] extends string ? { + $: string; + } : XMLObject); + }; + $$?: Record; +} & { + [K in keyof T]?: (T[K] extends string ? string : XMLObject); +}; diff --git a/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff new file mode 100644 index 0000000000..6bb913f83a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/recursiveTypeReferences2.js.diff @@ -0,0 +1,74 @@ +--- old.recursiveTypeReferences2.js ++++ new.recursiveTypeReferences2.js +@@= skipped -28, +28 lines =@@ + + + //// [bug39372.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** @typedef {ReadonlyArray} JsonArray */ + /** @typedef {{ readonly [key: string]: Json }} JsonRecord */ + /** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */ +@@= skipped -26, +28 lines =@@ + + + //// [bug39372.d.ts] +-/** @typedef {ReadonlyArray} JsonArray */ +-/** @typedef {{ readonly [key: string]: Json }} JsonRecord */ +-/** @typedef {boolean | number | string | null | JsonRecord | JsonArray | readonly []} Json */ +-/** +- * @template T +- * @typedef {{ +- $A: { +- [K in keyof T]?: XMLObject[] +- }, +- $O: { +- [K in keyof T]?: { +- $$?: Record +- } & (T[K] extends string ? {$:string} : XMLObject) +- }, +- $$?: Record, +- } & { +- [K in keyof T]?: ( +- T[K] extends string ? string +- : XMLObject +- ) +-}} XMLObject */ +-/** @type {XMLObject<{foo:string}>} */ +-declare const p: XMLObject<{ +- foo: string; +-}>; +-type JsonArray = ReadonlyArray; +-type JsonRecord = { ++export type JsonArray = ReadonlyArray; ++export type JsonRecord = { + readonly [key: string]: Json; + }; +-type Json = boolean | number | string | null | JsonRecord | JsonArray | readonly []; +-/** +- * +- */ +-type XMLObject = { +- $A: { [K in keyof T]?: XMLObject[]; }; +- $O: { [K in keyof T]?: { +- $$?: Record; +- } & (T[K] extends string ? { +- $: string; +- } : XMLObject); }; ++export type Json = boolean | number | string | null | JsonRecord | JsonArray | readonly []; ++export type XMLObject = { ++ $A: { ++ [K in keyof T]?: XMLObject[]; ++ }; ++ $O: { ++ [K in keyof T]?: { ++ $$?: Record; ++ } & (T[K] extends string ? { ++ $: string; ++ } : XMLObject); ++ }; + $$?: Record; +-} & { [K in keyof T]?: (T[K] extends string ? string : XMLObject); }; ++} & { ++ [K in keyof T]?: (T[K] extends string ? string : XMLObject); ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/requireOfESWithPropertyAccess.js b/testdata/baselines/reference/submodule/conformance/requireOfESWithPropertyAccess.js new file mode 100644 index 0000000000..e305cb5e81 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/requireOfESWithPropertyAccess.js @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/salsa/requireOfESWithPropertyAccess.ts] //// + +//// [main.js] +const x = require('./ch').x +x +x.grey +x.x.grey +//// [ch.js] +const x = { + grey: {} +} +export { x } + + +//// [ch.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +const x = { + grey: {} +}; +exports.x = x; +//// [main.js] +"use strict"; +const x = require('./ch').x; +x; +x.grey; +x.x.grey; + + +//// [ch.d.ts] +declare const x: { + grey: {}; +}; +export { x }; +//// [main.d.ts] +export {}; diff --git a/testdata/baselines/reference/submodule/conformance/requireOfESWithPropertyAccess.js.diff b/testdata/baselines/reference/submodule/conformance/requireOfESWithPropertyAccess.js.diff new file mode 100644 index 0000000000..3b3b049dd8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/requireOfESWithPropertyAccess.js.diff @@ -0,0 +1,15 @@ +--- old.requireOfESWithPropertyAccess.js ++++ new.requireOfESWithPropertyAccess.js +@@= skipped -28, +28 lines =@@ + + + //// [ch.d.ts] +-export namespace x { +- let grey: {}; +-} ++declare const x: { ++ grey: {}; ++}; ++export { x }; + //// [main.d.ts] + export {}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.js b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.js new file mode 100644 index 0000000000..9ec673efe1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.js @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/salsa/requireTwoPropertyAccesses.ts] //// + +//// [mod.js] +module.exports = { + x: { + y: "value" + } +} +//// [requireTwoPropertyAccesses.js] +const value = require("./mod").x.y +console.log(value) + + +//// [mod.js] +export = { + x: { + y: "value" + } +}; +module.exports = { + x: { + y: "value" + } +}; +//// [requireTwoPropertyAccesses.js] +const value = require("./mod").x.y; +console.log(value); diff --git a/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.js.diff b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.js.diff new file mode 100644 index 0000000000..36d71c3416 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/requireTwoPropertyAccesses.js.diff @@ -0,0 +1,14 @@ +--- old.requireTwoPropertyAccesses.js ++++ new.requireTwoPropertyAccesses.js +@@= skipped -11, +11 lines =@@ + + + //// [mod.js] ++export = { ++ x: { ++ y: "value" ++ } ++}; + module.exports = { + x: { + y: "value" \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/seeTag3.js b/testdata/baselines/reference/submodule/conformance/seeTag3.js new file mode 100644 index 0000000000..3e2af65b65 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/seeTag3.js @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/jsdoc/seeTag3.ts] //// + +//// [seeTag3.js] +/** @see [The typescript web site](https://typescriptlang.org) */ +function theWholeThing() { +} + + +//// [seeTag3.js] +/** @see [The typescript web site](https://typescriptlang.org) */ +function theWholeThing() { +} diff --git a/testdata/baselines/reference/submodule/conformance/seeTag4.js b/testdata/baselines/reference/submodule/conformance/seeTag4.js new file mode 100644 index 0000000000..612845bfd1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/seeTag4.js @@ -0,0 +1,27 @@ +//// [tests/cases/conformance/jsdoc/seeTag4.ts] //// + +//// [seeTag4.js] +/** + * @typedef {any} A + */ + +/** + * @see {@link A} + * @see {@linkcode A} + * @see {@linkplain A} + */ +let foo; + + +//// [seeTag4.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef {any} A + */ +/** + * @see {@link A} + * @see {@linkcode A} + * @see {@linkplain A} + */ +let foo; diff --git a/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff b/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff new file mode 100644 index 0000000000..e1e02ca84b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/seeTag4.js.diff @@ -0,0 +1,11 @@ +--- old.seeTag4.js ++++ new.seeTag4.js +@@= skipped -13, +13 lines =@@ + + + //// [seeTag4.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef {any} A + */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js new file mode 100644 index 0000000000..fa74820076 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js @@ -0,0 +1,123 @@ +//// [tests/cases/conformance/jsdoc/templateInsideCallback.ts] //// + +//// [templateInsideCallback.js] +/** + * @typedef Oops + * @template T + * @property {T} a + * @property {T} b + */ +/** + * @callback Call + * @template T + * @param {T} x + * @returns {T} + */ +/** + * @template T + * @type {Call} + */ +const identity = x => x; + +/** + * @typedef Nested + * @property {Object} oh + * @property {number} oh.no + * @template T + * @property {string} oh.noooooo + */ + + +/** + * @overload + * @template T + * @template U + * @param {T[]} array + * @param {(x: T) => U[]} iterable + * @returns {U[]} + */ +/** + * @overload + * @template T + * @param {T[][]} array + * @returns {T[]} + */ +/** + * @param {unknown[]} array + * @param {(x: unknown) => unknown} iterable + * @returns {unknown[]} + */ +function flatMap(array, iterable = identity) { + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { + result.push(.../** @type {unknown[]} */(iterable(array[i]))); + } + return result; +} + + +//// [templateInsideCallback.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * @typedef Oops + * @template T + * @property {T} a + * @property {T} b + */ +/** + * @callback Call + * @template T + * @param {T} x + * @returns {T} + */ +/** + * @template T + * @type {Call} + */ +const identity = x => x; +/** + * @typedef Nested + * @property {Object} oh + * @property {number} oh.no + * @template T + * @property {string} oh.noooooo + */ +/** + * @overload + * @template T + * @template U + * @param {T[]} array + * @param {(x: T) => U[]} iterable + * @returns {U[]} + */ +/** + * @overload + * @template T + * @param {T[][]} array + * @returns {T[]} + */ +/** + * @param {unknown[]} array + * @param {(x: unknown) => unknown} iterable + * @returns {unknown[]} + */ +function flatMap(array, iterable = identity) { + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { + result.push(... /** @type {unknown[]} */iterable(array[i])); + } + return result; +} + + +//// [templateInsideCallback.d.ts] +export type Call = () ; +export type Nested = { + oh: { + property: number; + property: string; + }; +}; diff --git a/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff new file mode 100644 index 0000000000..e998ad68d9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/templateInsideCallback.js.diff @@ -0,0 +1,67 @@ +--- old.templateInsideCallback.js ++++ new.templateInsideCallback.js +@@= skipped -58, +58 lines =@@ + + //// [templateInsideCallback.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** + * @typedef Oops + * @template T +@@= skipped -47, +48 lines =@@ + /** @type {unknown[]} */ + const result = []; + for (let i = 0; i < array.length; i += 1) { +- result.push(... /** @type {unknown[]} */(iterable(array[i]))); ++ result.push(... /** @type {unknown[]} */iterable(array[i])); + } + return result; + } + + + //// [templateInsideCallback.d.ts] +-/** +- * @overload +- * @template T +- * @template U +- * @param {T[]} array +- * @param {(x: T) => U[]} iterable +- * @returns {U[]} +- */ +-declare function flatMap(): any; +-/** +- * @overload +- * @template T +- * @param {T[][]} array +- * @returns {T[]} +- */ +-declare function flatMap(): any; +-/** +- * @typedef Oops +- * @template T +- * @property {T} a +- * @property {T} b +- */ +-/** +- * @callback Call +- * @template T +- * @param {T} x +- * @returns {T} +- */ +-/** +- * @template T +- * @type {Call} +- */ +-declare const identity: Call; +-type Nested = { ++export type Call = () ; ++export type Nested = { + oh: { +- no: number; +- noooooo: string; ++ property: number; ++ property: string; + }; + }; +-type Oops = any; +-type Call = () => any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/thisPropertyAssignment.js b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignment.js new file mode 100644 index 0000000000..0459d851f5 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignment.js @@ -0,0 +1,34 @@ +//// [tests/cases/conformance/salsa/thisPropertyAssignment.ts] //// + +//// [a.js] +// This test is asserting that a single property/element access +// on `this` is a special assignment declaration, but chaining +// off that does not create additional declarations. I’m not sure +// if it needs to be that way in JavaScript; the test simply +// ensures no accidental changes were introduced while allowing +// element access assignments to create declarations. + +this.x = {}; +this.x.y = {}; +this["y"] = {}; +this["y"]["z"] = {}; + +/** @constructor */ +function F() { + this.a = {}; + this.a.b = {}; + this["b"] = {}; + this["b"]["c"] = {}; +} + +const f = new F(); +f.a; +f.b; + + + + +//// [a.d.ts] +/** @constructor */ +declare function F(): void; +declare const f: any; diff --git a/testdata/baselines/reference/submodule/conformance/thisPropertyAssignment.js.diff b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignment.js.diff new file mode 100644 index 0000000000..c27d938164 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignment.js.diff @@ -0,0 +1,14 @@ +--- old.thisPropertyAssignment.js ++++ new.thisPropertyAssignment.js +@@= skipped -30, +30 lines =@@ + //// [a.d.ts] + /** @constructor */ + declare function F(): void; +-declare class F { +- a: {}; +- b: {}; +-} +-declare var x: {} | undefined; +-declare var y: {} | undefined; +-declare const f: F; ++declare const f: any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentCircular.js b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentCircular.js new file mode 100644 index 0000000000..61771535de --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentCircular.js @@ -0,0 +1,30 @@ +//// [tests/cases/conformance/salsa/thisPropertyAssignmentCircular.ts] //// + +//// [thisPropertyAssignmentCircular.js] +export class Foo { + constructor() { + this.foo = "Hello"; + } + slicey() { + this.foo = this.foo.slice(); + } + m() { + this.foo + } +} + +/** @class */ +function C() { + this.x = 0; + this.x = function() { this.x.toString(); } +} + + + + +//// [thisPropertyAssignmentCircular.d.ts] +export declare class Foo { + constructor(); + slicey(): void; + m(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentCircular.js.diff b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentCircular.js.diff new file mode 100644 index 0000000000..61c2684640 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentCircular.js.diff @@ -0,0 +1,13 @@ +--- old.thisPropertyAssignmentCircular.js ++++ new.thisPropertyAssignmentCircular.js +@@= skipped -22, +22 lines =@@ + + + //// [thisPropertyAssignmentCircular.d.ts] +-export class Foo { +- foo: string; ++export declare class Foo { ++ constructor(); + slicey(): void; + m(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentInherited.js b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentInherited.js new file mode 100644 index 0000000000..cbce180a48 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentInherited.js @@ -0,0 +1,41 @@ +//// [tests/cases/conformance/salsa/thisPropertyAssignmentInherited.ts] //// + +//// [thisPropertyAssignmentInherited.js] +export class Element { + /** + * @returns {String} + */ + get textContent() { + return '' + } + set textContent(x) {} + cloneNode() { return this} +} +export class HTMLElement extends Element {} +export class TextElement extends HTMLElement { + get innerHTML() { return this.textContent; } + set innerHTML(html) { this.textContent = html; } + toString() { + } +} + + + + + +//// [thisPropertyAssignmentInherited.d.ts] +export declare class Element { + /** + * @returns {String} + */ + get textContent(): String; + set textContent(x: String); + cloneNode(): this; +} +export declare class HTMLElement extends Element { +} +export declare class TextElement extends HTMLElement { + get innerHTML(): String; + set innerHTML(html: String); + toString(): void; +} diff --git a/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentInherited.js.diff b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentInherited.js.diff new file mode 100644 index 0000000000..8f19298781 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisPropertyAssignmentInherited.js.diff @@ -0,0 +1,28 @@ +--- old.thisPropertyAssignmentInherited.js ++++ new.thisPropertyAssignmentInherited.js +@@= skipped -23, +23 lines =@@ + + + //// [thisPropertyAssignmentInherited.d.ts] +-export class Element { +- set textContent(x: string); ++export declare class Element { + /** + * @returns {String} + */ +- get textContent(): string; ++ get textContent(): String; ++ set textContent(x: String); + cloneNode(): this; + } +-export class HTMLElement extends Element { ++export declare class HTMLElement extends Element { + } +-export class TextElement extends HTMLElement { +- set innerHTML(html: string); +- get innerHTML(): string; ++export declare class TextElement extends HTMLElement { ++ get innerHTML(): String; ++ set innerHTML(html: String); + toString(): void; + } \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/thisTag2.js b/testdata/baselines/reference/submodule/conformance/thisTag2.js new file mode 100644 index 0000000000..dd2582eb78 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisTag2.js @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/jsdoc/thisTag2.ts] //// + +//// [a.js] +/** @this {string} */ +export function f1() {} + +/** @this */ +export function f2() {} + + + + +//// [a.d.ts] +/** @this {string} */ +export declare function f1(this: string): void; +/** @this */ +export declare function f2(this: ): void; + + +//// [DtsFileErrors] + + +a.d.ts(4,34): error TS1110: Type expected. + + +==== a.d.ts (1 errors) ==== + /** @this {string} */ + export declare function f1(this: string): void; + /** @this */ + export declare function f2(this: ): void; + ~ +!!! error TS1110: Type expected. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/thisTag2.js.diff b/testdata/baselines/reference/submodule/conformance/thisTag2.js.diff new file mode 100644 index 0000000000..5835164347 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/thisTag2.js.diff @@ -0,0 +1,27 @@ +--- old.thisTag2.js ++++ new.thisTag2.js +@@= skipped -11, +11 lines =@@ + + //// [a.d.ts] + /** @this {string} */ +-export function f1(this: string): void; ++export declare function f1(this: string): void; + /** @this */ +-export function f2(this: any): void; ++export declare function f2(this: ): void; ++ ++ ++//// [DtsFileErrors] ++ ++ ++a.d.ts(4,34): error TS1110: Type expected. ++ ++ ++==== a.d.ts (1 errors) ==== ++ /** @this {string} */ ++ export declare function f1(this: string): void; ++ /** @this */ ++ export declare function f2(this: ): void; ++ ~ ++!!! error TS1110: Type expected. ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPrivatePropertyAssignmentJs.js b/testdata/baselines/reference/submodule/conformance/typeFromPrivatePropertyAssignmentJs.js new file mode 100644 index 0000000000..439c207a52 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPrivatePropertyAssignmentJs.js @@ -0,0 +1,29 @@ +//// [tests/cases/conformance/classes/members/privateNames/typeFromPrivatePropertyAssignmentJs.ts] //// + +//// [typeFromPrivatePropertyAssignmentJs.js] + +//// [a.js] +class C { + /** @type {{ foo?: string } | undefined } */ + #a; + /** @type {{ foo?: string } | undefined } */ + #b; + m() { + const a = this.#a || {}; + this.#b = this.#b || {}; + } +} + + +//// [typeFromPrivatePropertyAssignmentJs.js] +//// [a.js] +class C { + /** @type {{ foo?: string } | undefined } */ + #a; + /** @type {{ foo?: string } | undefined } */ + #b; + m() { + const a = this.#a || {}; + this.#b = this.#b || {}; + } +} diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment39.js b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment39.js new file mode 100644 index 0000000000..3c3d0d693b --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment39.js @@ -0,0 +1,16 @@ +//// [tests/cases/conformance/salsa/typeFromPropertyAssignment39.ts] //// + +//// [a.js] +const foo = {}; +foo["baz"] = {}; +foo["baz"]["blah"] = 3; + + + + +//// [a.d.ts] +declare const foo: { + baz: { + blah: number; + }; +}; diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment39.js.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment39.js.diff new file mode 100644 index 0000000000..aac1514602 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignment39.js.diff @@ -0,0 +1,16 @@ +--- old.typeFromPropertyAssignment39.js ++++ new.typeFromPropertyAssignment39.js +@@= skipped -8, +8 lines =@@ + + + //// [a.d.ts] +-declare namespace foo { +- namespace baz { +- let blah: number; +- } +-} ++declare const foo: { ++ baz: { ++ blah: number; ++ }; ++}; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js new file mode 100644 index 0000000000..8364e13a35 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/salsa/typeFromPropertyAssignmentWithExport.ts] //// + +//// [a.js] +// this is a javascript file... + +export const Adapter = {}; + +Adapter.prop = {}; + +// comment this out, and it works +Adapter.asyncMethod = function() {} + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Adapter = void 0; +// this is a javascript file... +exports.Adapter = {}; +exports.Adapter.prop = {}; +// comment this out, and it works +exports.Adapter.asyncMethod = function () { }; diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js.diff b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js.diff new file mode 100644 index 0000000000..e8b296c70c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPropertyAssignmentWithExport.js.diff @@ -0,0 +1,13 @@ +--- old.typeFromPropertyAssignmentWithExport.js ++++ new.typeFromPropertyAssignmentWithExport.js +@@= skipped -11, +11 lines =@@ + + //// [a.js] + "use strict"; +-// this is a javascript file... + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Adapter = void 0; ++// this is a javascript file... + exports.Adapter = {}; + exports.Adapter.prop = {}; + // comment this out, and it works \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPrototypeAssignment4.js b/testdata/baselines/reference/submodule/conformance/typeFromPrototypeAssignment4.js new file mode 100644 index 0000000000..05ea5715ce --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPrototypeAssignment4.js @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/salsa/typeFromPrototypeAssignment4.ts] //// + +//// [a.js] +function Multimap4() { + this._map = {}; +}; + +Multimap4["prototype"] = { + /** + * @param {string} key + * @returns {number} the value ok + */ + get(key) { + return this._map[key + '']; + } +}; + +Multimap4["prototype"]["add-on"] = function() {}; +Multimap4["prototype"]["addon"] = function() {}; +Multimap4["prototype"]["__underscores__"] = function() {}; + +const map4 = new Multimap4(); +map4.get(""); +map4["add-on"](); +map4.addon(); +map4.__underscores__(); + + + + +//// [a.d.ts] +declare function Multimap4(): void; +declare const map4: any; diff --git a/testdata/baselines/reference/submodule/conformance/typeFromPrototypeAssignment4.js.diff b/testdata/baselines/reference/submodule/conformance/typeFromPrototypeAssignment4.js.diff new file mode 100644 index 0000000000..d5ffe64194 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeFromPrototypeAssignment4.js.diff @@ -0,0 +1,19 @@ +--- old.typeFromPrototypeAssignment4.js ++++ new.typeFromPrototypeAssignment4.js +@@= skipped -29, +29 lines =@@ + + //// [a.d.ts] + declare function Multimap4(): void; +-declare class Multimap4 { +- _map: {}; +- /** +- * @param {string} key +- * @returns {number} the value ok +- */ +- get(key: string): number; +- "add-on"(): void; +- addon(): void; +- __underscores__(): void; +-} +-declare const map4: Multimap4; ++declare const map4: any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.errors.txt b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.errors.txt new file mode 100644 index 0000000000..54c304af09 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.errors.txt @@ -0,0 +1,24 @@ +d.ts(2,1): error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. + + +==== a.ts (0 errors) ==== + const A = {} + export { A }; + +==== b.ts (0 errors) ==== + import { A } from "./a"; + type A = any; + export type { A }; + +==== c.ts (0 errors) ==== + import { A } from "./b"; + namespace A {} + export { A }; + +==== d.ts (1 errors) ==== + import { A } from "./c"; + A; + ~ +!!! error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +!!! related TS1377 b.ts:3:15: 'A' was exported here. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.symbols b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.symbols new file mode 100644 index 0000000000..f7fe65df2a --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.symbols @@ -0,0 +1,36 @@ +//// [tests/cases/conformance/externalModules/typeOnlyMerge2.ts] //// + +=== a.ts === +const A = {} +>A : Symbol(A, Decl(a.ts, 0, 5)) + +export { A }; +>A : Symbol(A, Decl(a.ts, 1, 8)) + +=== b.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(b.ts, 0, 8), Decl(b.ts, 0, 24)) + +type A = any; +>A : Symbol(A, Decl(b.ts, 0, 8), Decl(b.ts, 0, 24)) + +export type { A }; +>A : Symbol(A, Decl(b.ts, 2, 13)) + +=== c.ts === +import { A } from "./b"; +>A : Symbol(A, Decl(c.ts, 0, 8), Decl(c.ts, 0, 24)) + +namespace A {} +>A : Symbol(A, Decl(c.ts, 0, 8), Decl(c.ts, 0, 24)) + +export { A }; +>A : Symbol(A, Decl(c.ts, 2, 8)) + +=== d.ts === +import { A } from "./c"; +>A : Symbol(A, Decl(d.ts, 0, 8)) + +A; +>A : Symbol(A, Decl(d.ts, 0, 8)) + diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.types b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.types new file mode 100644 index 0000000000..243f41e8a1 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge2.types @@ -0,0 +1,35 @@ +//// [tests/cases/conformance/externalModules/typeOnlyMerge2.ts] //// + +=== a.ts === +const A = {} +>A : {} +>{} : {} + +export { A }; +>A : {} + +=== b.ts === +import { A } from "./a"; +>A : {} + +type A = any; +>A : any + +export type { A }; +>A : any + +=== c.ts === +import { A } from "./b"; +>A : {} + +namespace A {} +export { A }; +>A : {} + +=== d.ts === +import { A } from "./c"; +>A : {} + +A; +>A : {} + diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.errors.txt b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.errors.txt new file mode 100644 index 0000000000..6b50da4e6d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.errors.txt @@ -0,0 +1,39 @@ +b.ts(1,10): error TS2440: Import declaration conflicts with local declaration of 'A'. +c.ts(2,1): error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +c.ts(3,1): error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +c.ts(4,1): error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +c.ts(4,1): error TS2349: This expression is not callable. + Type 'typeof A' has no call signatures. + + +==== a.ts (0 errors) ==== + function A() {} + export type { A }; + +==== b.ts (1 errors) ==== + import { A } from "./a"; + ~ +!!! error TS2440: Import declaration conflicts with local declaration of 'A'. + namespace A { + export const displayName = "A"; + } + export { A }; + +==== c.ts (4 errors) ==== + import { A } from "./b"; + A; + ~ +!!! error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +!!! related TS1377 a.ts:2:15: 'A' was exported here. + A.displayName; + ~ +!!! error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +!!! related TS1377 a.ts:2:15: 'A' was exported here. + A(); + ~ +!!! error TS1362: 'A' cannot be used as a value because it was exported using 'export type'. +!!! related TS1377 a.ts:2:15: 'A' was exported here. + ~ +!!! error TS2349: This expression is not callable. +!!! error TS2349: Type 'typeof A' has no call signatures. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.symbols b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.symbols new file mode 100644 index 0000000000..1631027225 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.symbols @@ -0,0 +1,37 @@ +//// [tests/cases/conformance/externalModules/typeOnlyMerge3.ts] //// + +=== a.ts === +function A() {} +>A : Symbol(A, Decl(a.ts, 0, 0)) + +export type { A }; +>A : Symbol(A, Decl(a.ts, 1, 13)) + +=== b.ts === +import { A } from "./a"; +>A : Symbol(A, Decl(b.ts, 0, 8), Decl(b.ts, 0, 24)) + +namespace A { +>A : Symbol(A, Decl(b.ts, 0, 8), Decl(b.ts, 0, 24)) + + export const displayName = "A"; +>displayName : Symbol(displayName, Decl(b.ts, 2, 14)) +} +export { A }; +>A : Symbol(A, Decl(b.ts, 4, 8)) + +=== c.ts === +import { A } from "./b"; +>A : Symbol(A, Decl(c.ts, 0, 8)) + +A; +>A : Symbol(A, Decl(c.ts, 0, 8)) + +A.displayName; +>A.displayName : Symbol(displayName, Decl(b.ts, 2, 14)) +>A : Symbol(A, Decl(c.ts, 0, 8)) +>displayName : Symbol(displayName, Decl(b.ts, 2, 14)) + +A(); +>A : Symbol(A, Decl(c.ts, 0, 8)) + diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.symbols.diff b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.symbols.diff new file mode 100644 index 0000000000..b9fb4d7e5e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.symbols.diff @@ -0,0 +1,14 @@ +--- old.typeOnlyMerge3.symbols ++++ new.typeOnlyMerge3.symbols +@@= skipped -27, +27 lines =@@ + >A : Symbol(A, Decl(c.ts, 0, 8)) + + A.displayName; +->A.displayName : Symbol(A.displayName, Decl(b.ts, 2, 14)) ++>A.displayName : Symbol(displayName, Decl(b.ts, 2, 14)) + >A : Symbol(A, Decl(c.ts, 0, 8)) +->displayName : Symbol(A.displayName, Decl(b.ts, 2, 14)) ++>displayName : Symbol(displayName, Decl(b.ts, 2, 14)) + + A(); + >A : Symbol(A, Decl(c.ts, 0, 8)) \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.types b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.types new file mode 100644 index 0000000000..81566cdb0e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeOnlyMerge3.types @@ -0,0 +1,39 @@ +//// [tests/cases/conformance/externalModules/typeOnlyMerge3.ts] //// + +=== a.ts === +function A() {} +>A : () => void + +export type { A }; +>A : any + +=== b.ts === +import { A } from "./a"; +>A : typeof A + +namespace A { +>A : typeof A + + export const displayName = "A"; +>displayName : "A" +>"A" : "A" +} +export { A }; +>A : typeof A + +=== c.ts === +import { A } from "./b"; +>A : typeof A + +A; +>A : typeof A + +A.displayName; +>A.displayName : "A" +>A : typeof A +>displayName : "A" + +A(); +>A() : any +>A : typeof A + diff --git a/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js new file mode 100644 index 0000000000..4f5bbb3bb4 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/jsdoc/typeTagNoErasure.ts] //// + +//// [typeTagNoErasure.js] +/** @template T @typedef {(data: T1) => T1} Test */ + +/** @type {Test} */ +const test = dibbity => dibbity + +test(1) // ok, T=1 +test('hi') // error, T=number + + +//// [typeTagNoErasure.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @template T @typedef {(data: T1) => T1} Test */ +/** @type {Test} */ +const test = dibbity => dibbity; +test(1); // ok, T=1 +test('hi'); // error, T=number + + +//// [typeTagNoErasure.d.ts] +export type Test = (data: T1) => T1; diff --git a/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff new file mode 100644 index 0000000000..faf23d49b9 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeTagNoErasure.js.diff @@ -0,0 +1,20 @@ +--- old.typeTagNoErasure.js ++++ new.typeTagNoErasure.js +@@= skipped -10, +10 lines =@@ + + + //// [typeTagNoErasure.js] ++"use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** @template T @typedef {(data: T1) => T1} Test */ + /** @type {Test} */ + const test = dibbity => dibbity; +@@= skipped -8, +10 lines =@@ + + + //// [typeTagNoErasure.d.ts] +-/** @template T @typedef {(data: T1) => T1} Test */ +-/** @type {Test} */ +-declare const test: Test; +-type Test = (data: T1) => T1; ++export type Test = (data: T1) => T1; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js new file mode 100644 index 0000000000..1cd771088e --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js @@ -0,0 +1,46 @@ +//// [tests/cases/conformance/salsa/typeTagOnFunctionReferencesGeneric.ts] //// + +//// [typeTagOnFunctionReferencesGeneric.js] +/** + * @typedef {(m : T) => T} IFn + */ + +/**@type {IFn}*/ +export function inJs(l) { + return l; +} +inJs(1); // lints error. Why? + +/**@type {IFn}*/ +const inJsArrow = (j) => { + return j; +} +inJsArrow(2); // no error gets linted as expected + + +//// [typeTagOnFunctionReferencesGeneric.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.inJs = inJs; +/** + * @typedef {(m : T) => T} IFn + */ +/**@type {IFn}*/ +function inJs(l) { + return l; +} +inJs(1); // lints error. Why? +/**@type {IFn}*/ +const inJsArrow = (j) => { + return j; +}; +inJsArrow(2); // no error gets linted as expected + + +//// [typeTagOnFunctionReferencesGeneric.d.ts] +export type IFn = (m: T) => T; +/** + * @typedef {(m : T) => T} IFn + */ +/**@type {IFn}*/ +export declare function inJs(l: any): any; diff --git a/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff new file mode 100644 index 0000000000..678958065c --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typeTagOnFunctionReferencesGeneric.js.diff @@ -0,0 +1,28 @@ +--- old.typeTagOnFunctionReferencesGeneric.js ++++ new.typeTagOnFunctionReferencesGeneric.js +@@= skipped -19, +19 lines =@@ + + //// [typeTagOnFunctionReferencesGeneric.js] + "use strict"; +-/** +- * @typedef {(m : T) => T} IFn +- */ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.inJs = inJs; ++/** ++ * @typedef {(m : T) => T} IFn ++ */ + /**@type {IFn}*/ + function inJs(l) { + return l; +@@= skipped -18, +18 lines =@@ + + + //// [typeTagOnFunctionReferencesGeneric.d.ts] +-export function inJs(m: T): T; + export type IFn = (m: T) => T; ++/** ++ * @typedef {(m : T) => T} IFn ++ */ ++/**@type {IFn}*/ ++export declare function inJs(l: any): any; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefOnSemicolonClassElement.js b/testdata/baselines/reference/submodule/conformance/typedefOnSemicolonClassElement.js new file mode 100644 index 0000000000..68931be143 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typedefOnSemicolonClassElement.js @@ -0,0 +1,53 @@ +//// [tests/cases/conformance/jsdoc/typedefOnSemicolonClassElement.ts] //// + +//// [typedefOnSemicolonClassElement.js] +export class Preferences { + /** @typedef {string} A */ + ; + /** @type {A} */ + a = 'ok' +} + + +//// [typedefOnSemicolonClassElement.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Preferences = void 0; +class Preferences { + /** @typedef {string} A */ + ; + /** @type {A} */ + a = 'ok'; +} +exports.Preferences = Preferences; + + +//// [typedefOnSemicolonClassElement.d.ts] +export declare class Preferences { + export type A = string; + /** @type {A} */ + a: A; +} + + +//// [DtsFileErrors] + + +dist/typedefOnSemicolonClassElement.d.ts(2,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. +dist/typedefOnSemicolonClassElement.d.ts(4,8): error TS2693: 'A' only refers to a type, but is being used as a value here. +dist/typedefOnSemicolonClassElement.d.ts(5,1): error TS1128: Declaration or statement expected. + + +==== dist/typedefOnSemicolonClassElement.d.ts (3 errors) ==== + export declare class Preferences { + export type A = string; + ~~~~~~ +!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. + /** @type {A} */ + a: A; + ~ +!!! error TS2693: 'A' only refers to a type, but is being used as a value here. + } + ~ +!!! error TS1128: Declaration or statement expected. + \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefOnSemicolonClassElement.js.diff b/testdata/baselines/reference/submodule/conformance/typedefOnSemicolonClassElement.js.diff new file mode 100644 index 0000000000..b1d29ecaf0 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typedefOnSemicolonClassElement.js.diff @@ -0,0 +1,49 @@ +--- old.typedefOnSemicolonClassElement.js ++++ new.typedefOnSemicolonClassElement.js +@@= skipped -13, +13 lines =@@ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.Preferences = void 0; + class Preferences { +- constructor() { +- /** @type {A} */ +- this.a = 'ok'; +- } + /** @typedef {string} A */ + ; ++ /** @type {A} */ ++ a = 'ok'; + } + exports.Preferences = Preferences; + + + //// [typedefOnSemicolonClassElement.d.ts] +-export class Preferences { ++export declare class Preferences { ++ export type A = string; + /** @type {A} */ +- a: string; ++ a: A; + } ++ ++ ++//// [DtsFileErrors] ++ ++ ++dist/typedefOnSemicolonClassElement.d.ts(2,5): error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. ++dist/typedefOnSemicolonClassElement.d.ts(4,8): error TS2693: 'A' only refers to a type, but is being used as a value here. ++dist/typedefOnSemicolonClassElement.d.ts(5,1): error TS1128: Declaration or statement expected. ++ ++ ++==== dist/typedefOnSemicolonClassElement.d.ts (3 errors) ==== ++ export declare class Preferences { ++ export type A = string; ++ ~~~~~~ ++!!! error TS1068: Unexpected token. A constructor, method, accessor, or property was expected. ++ /** @type {A} */ ++ a: A; ++ ~ ++!!! error TS2693: 'A' only refers to a type, but is being used as a value here. ++ } ++ ~ ++!!! error TS1128: Declaration or statement expected. ++ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefOnStatements.js b/testdata/baselines/reference/submodule/conformance/typedefOnStatements.js new file mode 100644 index 0000000000..70244a3f6f --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typedefOnStatements.js @@ -0,0 +1,213 @@ +//// [tests/cases/conformance/jsdoc/typedefOnStatements.ts] //// + +//// [typedefOnStatements.js] +/** @typedef {{a: string}} A */ +; +/** @typedef {{ b: string }} B */ +debugger; +/** @typedef {{ c: string }} C */ +{ +} +/** @typedef {{ d: string }} D */ +1 + 1; +/** @typedef {{ e: string }} E */ +if (false) { +} +/** @typedef {{ f: string }} F */ +do { +} while (false); +/** @typedef {{ g: string }} G */ +while (false) { +} +/** @typedef {{ h: string }} H */ +for (;; false) { +} +/** @typedef {{ i: string }} I */ +for (let i in []) { +} +/** @typedef {{ j: string }} J */ +break; +/** @typedef {{ k: string }} K */ +for (let k of []) { +} +/** @typedef {{ l: string }} L */ +continue; +/** @typedef {{ m: string }} M */ +with (name) { +} +/** @typedef {{ n: string }} N */ +switch (name) { +} + +/** @typedef {{ o: string }} O */ +fork: while (false) { +} + +/** @typedef {{ p: string }} P */ +throw new Error('Unreachable') + +/** @typedef {{ q: string }} Q */ +try { +} +catch (e) { +} + +/** + * @param {A} a + * @param {B} b + * @param {C} c + * @param {D} d + * @param {E} e + * @param {F} f + * @param {G} g + * @param {H} h + * @param {I} i + * @param {J} j + * @param {K} k + * @param {L} l + * @param {M} m + * @param {N} n + * @param {O} o + * @param {P} p + * @param {Q} q + */ +function proof (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) { + console.log(a.a, b.b, c.c, d.d, e.e, f.f, g.g, h.h, i.i, j.j, k.k, l.l, m.m, n.n, o.o, p.p, q.q) + /** @type {Alpha} */ + var alpha = { alpha: "aleph" } + /** @typedef {{ alpha: string }} Alpha */ + return +} + + + +//// [typedefOnStatements.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +/** @typedef {{a: string}} A */ +; +/** @typedef {{ b: string }} B */ +debugger; +/** @typedef {{ c: string }} C */ +{ +} +/** @typedef {{ d: string }} D */ +1 + 1; +/** @typedef {{ e: string }} E */ +if (false) { +} +/** @typedef {{ f: string }} F */ +do { +} while (false); +/** @typedef {{ g: string }} G */ +while (false) { +} +/** @typedef {{ h: string }} H */ +for (;; false) { +} +/** @typedef {{ i: string }} I */ +for (let i in []) { +} +/** @typedef {{ j: string }} J */ +break; +/** @typedef {{ k: string }} K */ +for (let k of []) { +} +/** @typedef {{ l: string }} L */ +continue; +/** @typedef {{ m: string }} M */ +with (name) { +} +/** @typedef {{ n: string }} N */ +switch (name) { +} +/** @typedef {{ o: string }} O */ +fork: while (false) { +} +/** @typedef {{ p: string }} P */ +throw new Error('Unreachable'); +/** @typedef {{ q: string }} Q */ +try { +} +catch (e) { +} +/** + * @param {A} a + * @param {B} b + * @param {C} c + * @param {D} d + * @param {E} e + * @param {F} f + * @param {G} g + * @param {H} h + * @param {I} i + * @param {J} j + * @param {K} k + * @param {L} l + * @param {M} m + * @param {N} n + * @param {O} o + * @param {P} p + * @param {Q} q + */ +function proof(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) { + console.log(a.a, b.b, c.c, d.d, e.e, f.f, g.g, h.h, i.i, j.j, k.k, l.l, m.m, n.n, o.o, p.p, q.q); + /** @type {Alpha} */ + var alpha = { alpha: "aleph" }; + /** @typedef {{ alpha: string }} Alpha */ + return; +} + + +//// [typedefOnStatements.d.ts] +export type A = { + a: string; +}; +export type B = { + b: string; +}; +export type C = { + c: string; +}; +export type D = { + d: string; +}; +export type E = { + e: string; +}; +export type F = { + f: string; +}; +export type G = { + g: string; +}; +export type H = { + h: string; +}; +export type I = { + i: string; +}; +export type J = { + j: string; +}; +export type K = { + k: string; +}; +export type L = { + l: string; +}; +export type M = { + m: string; +}; +export type N = { + n: string; +}; +export type O = { + o: string; +}; +export type P = { + p: string; +}; +export type Q = { + q: string; +}; diff --git a/testdata/baselines/reference/submodule/conformance/typedefOnStatements.js.diff b/testdata/baselines/reference/submodule/conformance/typedefOnStatements.js.diff new file mode 100644 index 0000000000..1090c64ecc --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typedefOnStatements.js.diff @@ -0,0 +1,102 @@ +--- old.typedefOnStatements.js ++++ new.typedefOnStatements.js +@@= skipped -82, +82 lines =@@ + + //// [typedefOnStatements.js] + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); + /** @typedef {{a: string}} A */ + ; + /** @typedef {{ b: string }} B */ +@@= skipped -76, +77 lines =@@ + + + //// [typedefOnStatements.d.ts] +-/** +- * @param {A} a +- * @param {B} b +- * @param {C} c +- * @param {D} d +- * @param {E} e +- * @param {F} f +- * @param {G} g +- * @param {H} h +- * @param {I} i +- * @param {J} j +- * @param {K} k +- * @param {L} l +- * @param {M} m +- * @param {N} n +- * @param {O} o +- * @param {P} p +- * @param {Q} q +- */ +-declare function proof(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q): void; +-type A = { ++export type A = { + a: string; + }; +-type B = { ++export type B = { + b: string; + }; +-type C = { ++export type C = { + c: string; + }; +-type D = { ++export type D = { + d: string; + }; +-type E = { ++export type E = { + e: string; + }; +-type F = { ++export type F = { + f: string; + }; +-type G = { ++export type G = { + g: string; + }; +-type H = { ++export type H = { + h: string; + }; +-type I = { ++export type I = { + i: string; + }; +-type J = { ++export type J = { + j: string; + }; +-type K = { ++export type K = { + k: string; + }; +-type L = { ++export type L = { + l: string; + }; +-type M = { ++export type M = { + m: string; + }; +-type N = { ++export type N = { + n: string; + }; +-type O = { ++export type O = { + o: string; + }; +-type P = { ++export type P = { + p: string; + }; +-type Q = { ++export type Q = { + q: string; + }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/typedefScope1.js b/testdata/baselines/reference/submodule/conformance/typedefScope1.js new file mode 100644 index 0000000000..b67955b1d8 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typedefScope1.js @@ -0,0 +1,39 @@ +//// [tests/cases/conformance/jsdoc/typedefScope1.ts] //// + +//// [typedefScope1.js] +function B1() { + /** @typedef {number} B */ + /** @type {B} */ + var ok1 = 0; +} + +function B2() { + /** @typedef {string} B */ + /** @type {B} */ + var ok2 = 'hi'; +} + +/** @type {B} */ +var notOK = 0; + + +//// [typedefScope1.js] +function B1() { + /** @typedef {number} B */ + /** @type {B} */ + var ok1 = 0; +} +function B2() { + /** @typedef {string} B */ + /** @type {B} */ + var ok2 = 'hi'; +} +/** @type {B} */ +var notOK = 0; + + +//// [typedefScope1.d.ts] +declare function B1(): void; +declare function B2(): void; +/** @type {B} */ +declare var notOK: B; diff --git a/testdata/baselines/reference/submodule/conformance/typedefScope1.js.diff b/testdata/baselines/reference/submodule/conformance/typedefScope1.js.diff new file mode 100644 index 0000000000..23ba338955 --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/typedefScope1.js.diff @@ -0,0 +1,10 @@ +--- old.typedefScope1.js ++++ new.typedefScope1.js +@@= skipped -17, +17 lines =@@ + + + //// [typedefScope1.js] +-"use strict"; + function B1() { + /** @typedef {number} B */ + /** @type {B} */ \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.js b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.js new file mode 100644 index 0000000000..a85b8d66ea --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.js @@ -0,0 +1,15 @@ +//// [tests/cases/conformance/moduleResolution/untypedModuleImport_allowJs.ts] //// + +//// [index.js] +exports.default = { bar() { return 0; } } + +//// [a.ts] +import foo from "foo"; +foo.bar(); + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const foo_1 = require("foo"); +foo_1.default.bar(); diff --git a/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.js.diff b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.js.diff new file mode 100644 index 0000000000..a755437f9d --- /dev/null +++ b/testdata/baselines/reference/submodule/conformance/untypedModuleImport_allowJs.js.diff @@ -0,0 +1,9 @@ +--- old.untypedModuleImport_allowJs.js ++++ new.untypedModuleImport_allowJs.js +@@= skipped -10, +10 lines =@@ + //// [a.js] + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +-var foo_1 = require("foo"); ++const foo_1 = require("foo"); + foo_1.default.bar(); \ No newline at end of file