diff --git a/.dockerignore b/.dockerignore index cf23755119c2e..c98d74e918d7f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,20 +17,8 @@ build.json *.config scripts/debug.bat scripts/run.bat -scripts/word2md.js -scripts/buildProtocol.js -scripts/ior.js -scripts/configurePrerelease.js -scripts/open-user-pr.js -scripts/open-cherry-pick-pr.js -scripts/processDiagnosticMessages.d.ts -scripts/processDiagnosticMessages.js -scripts/produceLKG.js -scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.js -scripts/generateLocalizedDiagnosticMessages.js -scripts/configureLanguageServiceBuild.js -scripts/*.js.map -scripts/typings/ +scripts/**/*.js +scripts/**/*.js.map coverage/ internal/ **/.DS_Store diff --git a/.eslintignore b/.eslintignore index 8d53899550031..c85649450cd49 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,7 +4,8 @@ /lib/** /src/lib/*.generated.d.ts # Ignore all compiled script outputs -/scripts/*.js +/scripts/**/*.js +/scripts/**/*.d.* # But, not the ones that are hand-written. # TODO: remove once scripts are pure JS !/scripts/browserIntegrationTest.js diff --git a/.eslintplugin.js b/.eslintplugin.js index 71b2587ccda64..97525acf6ffd3 100644 --- a/.eslintplugin.js +++ b/.eslintplugin.js @@ -2,7 +2,7 @@ const fs = require("fs"); const path = require("path"); const rulesDir = path.join(__dirname, "scripts", "eslint", "rules"); -const ext = ".js"; +const ext = ".cjs"; const ruleFiles = fs.readdirSync(rulesDir).filter((p) => p.endsWith(ext)); module.exports = { diff --git a/.eslintrc.json b/.eslintrc.json index 1711f8592ab18..35901b12013ad 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -12,17 +12,6 @@ "plugins": [ "@typescript-eslint", "jsdoc", "no-null", "import", "eslint-plugin-local" ], - "overrides": [ - // By default, the ESLint CLI only looks at .js files. But, it will also look at - // any files which are referenced in an override config. Most users of typescript-eslint - // get this behavior by default by extending a recommended typescript-eslint config, which - // just so happens to override some core ESLint rules. We don't extend from any config, so - // explicitly reference TS files here so the CLI picks them up. - // - // ESLint in VS Code will lint any opened file (so long as it's not eslintignore'd), so - // that will work regardless of the below. - { "files": ["*.ts", "*.mts", "*.cts", "*.mjs", "*.cjs"] } - ], "rules": { "@typescript-eslint/adjacent-overload-signatures": "error", "@typescript-eslint/array-type": "error", @@ -151,5 +140,31 @@ "no-prototype-builtins": "error", "no-self-assign": "error", "no-dupe-else-if": "error" - } + }, + "overrides": [ + // By default, the ESLint CLI only looks at .js files. But, it will also look at + // any files which are referenced in an override config. Most users of typescript-eslint + // get this behavior by default by extending a recommended typescript-eslint config, which + // just so happens to override some core ESLint rules. We don't extend from any config, so + // explicitly reference TS files here so the CLI picks them up. + // + // ESLint in VS Code will lint any opened file (so long as it's not eslintignore'd), so + // that will work regardless of the below. + // + // The same applies to mjs files; ESLint appears to not scan those either. + { "files": ["*.ts", "*.mts", "*.cts", "*.mjs", "*.cjs"] }, + { + "files": ["*.mjs", "*.mts"], + "rules": { + // These globals don't exist outside of CJS files. + "no-restricted-globals": ["error", + { "name": "__filename" }, + { "name": "__dirname" }, + { "name": "require" }, + { "name": "module" }, + { "name": "exports" } + ] + } + } + ] } diff --git a/.github/codeql/codeql-configuration.yml b/.github/codeql/codeql-configuration.yml index 402799f89debe..a9e8b576b7c65 100644 --- a/.github/codeql/codeql-configuration.yml +++ b/.github/codeql/codeql-configuration.yml @@ -1,4 +1,8 @@ name : CodeQL Configuration paths: - - './src' + - src + - scripts + - Gulpfile.mjs +paths-ignore: + - src/lib diff --git a/.github/workflows/accept-baselines-fix-lints.yaml b/.github/workflows/accept-baselines-fix-lints.yaml index d0196d1e29206..0294ead0b9e75 100644 --- a/.github/workflows/accept-baselines-fix-lints.yaml +++ b/.github/workflows/accept-baselines-fix-lints.yaml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v3 - name: Configure Git, Run Tests, Update Baselines, Apply Fixes diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 956a41729655f..bf6cb012289dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,3 +67,20 @@ jobs: - name: Validate the browser can import TypeScript run: gulp test-browser-integration + + misc: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: "*" + check-latest: true + - run: npm ci + + - name: Build scripts + run: gulp scripts + + - name: ESLint tests + run: gulp run-eslint-rules-tests diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e9bc38cbcaeb8..806de03ae489e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,50 +1,64 @@ -name: "Code scanning - action" +name: "Code Scanning - Action" on: push: + branches: + - main + - release-* pull_request: + branches: + - main + - release-* schedule: - - cron: '0 19 * * 0' + # ┌───────────── minute (0 - 59) + # │ ┌───────────── hour (0 - 23) + # │ │ ┌───────────── day of the month (1 - 31) + # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) + # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) + # │ │ │ │ │ + # │ │ │ │ │ + # │ │ │ │ │ + # * * * * * + - cron: '30 1 * * 0' jobs: CodeQL-Build: - - # CodeQL runs on ubuntu-latest and windows-latest + # CodeQL runs on ubuntu-latest, windows-latest, and macos-latest runs-on: ubuntu-latest if: github.repository == 'microsoft/TypeScript' + permissions: + # required for all workflows + security-events: write + steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - config-file: ./.github/codeql/codeql-configuration.yml - # Override language selection by uncommenting this and choosing your languages - # with: - # languages: go, javascript, csharp, python, cpp, java - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + config-file: ./.github/codeql/codeql-configuration.yml + # Override language selection by uncommenting this and choosing your languages + # with: + # languages: go, javascript, csharp, python, cpp, java + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below). + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # ✏️ If the Autobuild fails above, remove it and uncomment the following + # three lines and modify them (or add more) to build your code if your + # project uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/ensure-related-repos-run-crons.yml b/.github/workflows/ensure-related-repos-run-crons.yml index a26fb5b799220..265e5028bdfa0 100644 --- a/.github/workflows/ensure-related-repos-run-crons.yml +++ b/.github/workflows/ensure-related-repos-run-crons.yml @@ -22,7 +22,7 @@ jobs: git config --global user.email "typescriptbot@microsoft.com" git config --global user.name "TypeScript Bot" - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: repository: 'microsoft/TypeScript-Website' path: 'ts-site' @@ -34,7 +34,7 @@ jobs: git config --unset-all http.https://github.com/.extraheader git push https://${{ secrets.TS_BOT_GITHUB_TOKEN }}@github.com/microsoft/TypeScript-Website.git - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: repository: 'microsoft/TypeScript-Make-Monaco-Builds' path: 'monaco-builds' diff --git a/.github/workflows/error-deltas-watchdog.yaml b/.github/workflows/error-deltas-watchdog.yaml new file mode 100644 index 0000000000000..d6eaa9f9fc19e --- /dev/null +++ b/.github/workflows/error-deltas-watchdog.yaml @@ -0,0 +1,36 @@ +name: "typescript-error-deltas Watchdog" + +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 3' # Every Wednesday + +jobs: + check-for-recent: + runs-on: ubuntu-latest + if: github.repository == 'microsoft/TypeScript' + permissions: + contents: read # Apparently required to create issues + issues: write + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAGS: "@RyanCavanaugh @DanielRosenwasser @amcasey" + steps: + - name: NewErrors + run: | # --json and --jq prints exactly one issue number per line of output + DATE=$(date --date="7 days ago" --iso-8601) + gh issue list --repo microsoft/typescript --search "[NewErrors] created:>=$DATE" --state all --json number --jq ".[].number" \ + | grep -qe "[0-9]" \ + || gh issue create --repo ${{ github.repository }} --title "No NewErrors issue since $DATE" --body "$TAGS Please check the [pipeline](https://typescript.visualstudio.com/TypeScript/_build?definitionId=48)." + - name: ServerErrors TS + run: | + DATE=$(date --date="7 days ago" --iso-8601) + gh issue list --repo microsoft/typescript --search "[ServerErrors][TypeScript] created:>=$DATE" --state all --json number --jq ".[].number" \ + | grep -qe "[0-9]" \ + || gh issue create --repo ${{ github.repository }} --title "No TypeScript ServerErrors issue since $DATE" --body "$TAGS Please check the [pipeline](https://typescript.visualstudio.com/TypeScript/_build?definitionId=59)." + - name: ServerErrors JS + run: | + DATE=$(date --date="7 days ago" --iso-8601) + gh issue list --repo microsoft/typescript --search "[ServerErrors][JavaScript] created:>=$DATE" --state all --json number --jq ".[].number" \ + | grep -qe "[0-9]" \ + || gh issue create --repo ${{ github.repository }} --title "No JavaScript ServerErrors issue since $DATE" --body "$TAGS Please check the [pipeline](https://typescript.visualstudio.com/TypeScript/_build?definitionId=58)." \ No newline at end of file diff --git a/.github/workflows/new-release-branch.yaml b/.github/workflows/new-release-branch.yaml index fa1d0a070750d..1800c36a4768e 100644 --- a/.github/workflows/new-release-branch.yaml +++ b/.github/workflows/new-release-branch.yaml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions/setup-node@v3 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 5 - run: | diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 351ea3ac8cd36..8ae588d43729b 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -14,7 +14,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: # Use NODE_AUTH_TOKEN environment variable to authenticate to this registry. diff --git a/.github/workflows/release-branch-artifact.yaml b/.github/workflows/release-branch-artifact.yaml index ed039a5accd27..9061c32d63b9c 100644 --- a/.github/workflows/release-branch-artifact.yaml +++ b/.github/workflows/release-branch-artifact.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v3 - name: npm install and test run: | @@ -27,7 +27,7 @@ jobs: npm pack ./ mv typescript-*.tgz typescript.tgz - name: Upload built tarfile - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v3 with: name: tgz path: typescript.tgz diff --git a/.github/workflows/rich-navigation.yml b/.github/workflows/rich-navigation.yml index 1c955f5973461..758faea4c7d5b 100644 --- a/.github/workflows/rich-navigation.yml +++ b/.github/workflows/rich-navigation.yml @@ -15,7 +15,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 5 diff --git a/.github/workflows/set-version.yaml b/.github/workflows/set-version.yaml index 567fba84e030e..982a102a648ac 100644 --- a/.github/workflows/set-version.yaml +++ b/.github/workflows/set-version.yaml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions/setup-node@v3 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.client_payload.branch_name }} # notably, this is essentially the same script as `new-release-branch.yaml` (with fewer inputs), but it assumes the branch already exists diff --git a/.github/workflows/sync-branch.yaml b/.github/workflows/sync-branch.yaml index 2928d072348e3..ce15c88121dbe 100644 --- a/.github/workflows/sync-branch.yaml +++ b/.github/workflows/sync-branch.yaml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/setup-node@v3 - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.event.inputs.branch_name || github.event.client_payload.branch_name }} fetch-depth: 0 diff --git a/.github/workflows/sync-wiki.yml b/.github/workflows/sync-wiki.yml index a10335070b049..8054832be0a38 100644 --- a/.github/workflows/sync-wiki.yml +++ b/.github/workflows/sync-wiki.yml @@ -9,7 +9,7 @@ jobs: - name: Get repo name run: R=${GITHUB_REPOSITORY%?wiki}; echo "BASENAME=${R##*/}" >> $GITHUB_ENV - name: Checkout ${{ env.BASENAME }}-wiki - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: repository: "${{ GITHUB.repository_owner }}/${{ env.BASENAME }}-wiki" token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/update-lkg.yml b/.github/workflows/update-lkg.yml index 53e3aaa750aa8..3505fc28303d4 100644 --- a/.github/workflows/update-lkg.yml +++ b/.github/workflows/update-lkg.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v3 - name: Configure Git and Update LKG diff --git a/.github/workflows/update-package-lock.yaml b/.github/workflows/update-package-lock.yaml index 986643e62956b..18e60ff5e5ca3 100644 --- a/.github/workflows/update-package-lock.yaml +++ b/.github/workflows/update-package-lock.yaml @@ -13,7 +13,7 @@ jobs: if: github.repository == 'microsoft/TypeScript' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - uses: actions/setup-node@v3 diff --git a/.gitignore b/.gitignore index cdf20ba5a2434..afd10c0786da9 100644 --- a/.gitignore +++ b/.gitignore @@ -40,22 +40,8 @@ tests/cases/**/*.js.map scripts/eslint/built/ scripts/debug.bat scripts/run.bat -scripts/word2md.js -scripts/buildProtocol.js -scripts/ior.js -scripts/configurePrerelease.js -scripts/configureLanguageServiceBuild.js -scripts/open-user-pr.js -scripts/open-cherry-pick-pr.js -scripts/processDiagnosticMessages.d.ts -scripts/processDiagnosticMessages.js -scripts/produceLKG.js -scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.js -scripts/generateLocalizedDiagnosticMessages.js -scripts/request-pr-review.js -scripts/errorCheck.js -scripts/*.js.map -scripts/typings/ +scripts/**/*.js +scripts/**/*.js.map coverage/ internal/ **/.DS_Store diff --git a/Gulpfile.js b/Gulpfile.mjs similarity index 83% rename from Gulpfile.js rename to Gulpfile.mjs index 5f4f365915dda..46c5827798893 100644 --- a/Gulpfile.js +++ b/Gulpfile.mjs @@ -1,20 +1,22 @@ // @ts-check -const path = require("path"); -const fs = require("fs"); -const log = require("fancy-log"); -const newer = require("gulp-newer"); -const sourcemaps = require("gulp-sourcemaps"); -const del = require("del"); -const rename = require("gulp-rename"); -const concat = require("gulp-concat"); -const merge2 = require("merge2"); -const { src, dest, task, parallel, series, watch } = require("gulp"); -const { append, transform } = require("gulp-insert"); -const { prependFile } = require("./scripts/build/prepend"); -const { exec, readJson, needsUpdate, getDiffTool, getDirSize, rm } = require("./scripts/build/utils"); -const { runConsoleTests, refBaseline, localBaseline, refRwcBaseline, localRwcBaseline } = require("./scripts/build/tests"); -const { buildProject, cleanProject, watchProject } = require("./scripts/build/projects"); -const cmdLineOptions = require("./scripts/build/options"); +import path from "path"; +import fs from "fs"; +import log from "fancy-log"; +import newer from "gulp-newer"; +import sourcemaps from "gulp-sourcemaps"; +import del from "del"; +import rename from "gulp-rename"; +import concat from "gulp-concat"; +import merge2 from "merge2"; +import gulp from "gulp"; +import { append, transform } from "gulp-insert"; +import { prependFile } from "./scripts/build/prepend.mjs"; +import { exec, readJson, needsUpdate, getDiffTool, getDirSize, rm } from "./scripts/build/utils.mjs"; +import { runConsoleTests, refBaseline, localBaseline, refRwcBaseline, localRwcBaseline } from "./scripts/build/tests.mjs"; +import { buildProject, cleanProject, watchProject } from "./scripts/build/projects.mjs"; +import cmdLineOptions from "./scripts/build/options.mjs"; + +const { src, dest, task, parallel, series, watch } = gulp; const copyright = "CopyrightNotice.txt"; const cleanTasks = []; @@ -23,9 +25,6 @@ const buildScripts = () => buildProject("scripts"); task("scripts", buildScripts); task("scripts").description = "Builds files in the 'scripts' folder."; -const cleanScripts = () => cleanProject("scripts"); -cleanTasks.push(cleanScripts); - /** @type {{ libs: string[]; paths: Record; }} */ const libraries = readJson("./src/lib/libs.json"); const libs = libraries.libs.map(lib => { @@ -56,10 +55,10 @@ const diagnosticMessagesJson = "src/compiler/diagnosticMessages.json"; const diagnosticMessagesGeneratedJson = "src/compiler/diagnosticMessages.generated.json"; const generateDiagnostics = async () => { if (needsUpdate(diagnosticMessagesJson, [diagnosticMessagesGeneratedJson, diagnosticInformationMapTs])) { - await exec(process.execPath, ["scripts/processDiagnosticMessages.js", diagnosticMessagesJson]); + await exec(process.execPath, ["scripts/processDiagnosticMessages.mjs", diagnosticMessagesJson]); } }; -task("generate-diagnostics", series(buildScripts, generateDiagnostics)); +task("generate-diagnostics", generateDiagnostics); task("generate-diagnostics").description = "Generates a diagnostic file in TypeScript based on an input JSON file"; const cleanDiagnostics = () => del([diagnosticInformationMapTs, diagnosticMessagesGeneratedJson]); @@ -88,7 +87,7 @@ const localizationTargets = ["cs", "de", "es", "fr", "it", "ja", "ko", "pl", "pt const localize = async () => { if (needsUpdate(diagnosticMessagesGeneratedJson, generatedLCGFile)) { - return exec(process.execPath, ["scripts/generateLocalizedDiagnosticMessages.js", "src/loc/lcl", "built/local", diagnosticMessagesGeneratedJson], { ignoreExitCode: true }); + return exec(process.execPath, ["scripts/generateLocalizedDiagnosticMessages.mjs", "src/loc/lcl", "built/local", diagnosticMessagesGeneratedJson], { ignoreExitCode: true }); } }; @@ -97,7 +96,7 @@ const cleanDebugTools = () => cleanProject("src/debug"); cleanTasks.push(cleanDebugTools); // Pre-build steps when targeting the LKG compiler -const lkgPreBuild = parallel(generateLibs, series(buildScripts, generateDiagnostics, buildDebugTools)); +const lkgPreBuild = parallel(generateLibs, series(generateDiagnostics, buildDebugTools)); const buildTsc = () => buildProject("src/tsc"); task("tsc", series(lkgPreBuild, buildTsc)); @@ -113,7 +112,7 @@ task("watch-tsc", series(lkgPreBuild, parallel(watchLib, watchDiagnostics, watch task("watch-tsc").description = "Watch for changes and rebuild the command-line compiler only."; // Pre-build steps when targeting the built/local compiler. -const localPreBuild = parallel(generateLibs, series(buildScripts, generateDiagnostics, buildDebugTools, buildTsc)); +const localPreBuild = parallel(generateLibs, series(generateDiagnostics, buildDebugTools, buildTsc)); // Pre-build steps to use based on supplied options. const preBuild = cmdLineOptions.lkg ? lkgPreBuild : localPreBuild; @@ -335,17 +334,8 @@ task("clean-tests").description = "Cleans the outputs for the test infrastructur const watchTests = () => watchProject("src/testRunner", cmdLineOptions); -const buildEslintRules = () => buildProject("scripts/eslint"); -task("build-eslint-rules", buildEslintRules); -task("build-eslint-rules").description = "Compiles eslint rules to js"; - -const cleanEslintRules = () => cleanProject("scripts/eslint"); -cleanTasks.push(cleanEslintRules); -task("clean-eslint-rules", cleanEslintRules); -task("clean-eslint-rules").description = "Cleans the outputs for the eslint rules"; - -const runEslintRulesTests = () => runConsoleTests("scripts/eslint/built/tests", "mocha-fivemat-progress-reporter", /*runInParallel*/ false, /*watchMode*/ false); -task("run-eslint-rules-tests", series(buildEslintRules, runEslintRulesTests)); +const runEslintRulesTests = () => runConsoleTests("scripts/eslint/tests", "mocha-fivemat-progress-reporter", /*runInParallel*/ false, /*watchMode*/ false); +task("run-eslint-rules-tests", runEslintRulesTests); task("run-eslint-rules-tests").description = "Runs the eslint rule tests"; /** @type { (folder: string) => { (): Promise; displayName?: string } } */ @@ -459,8 +449,8 @@ task("runtests-parallel").flags = { }; -task("test-browser-integration", () => exec(process.execPath, ["scripts/browserIntegrationTest.js"])); -task("test-browser-integration").description = "Runs scripts/browserIntegrationTest.ts which tests that typescript.js loads in a browser"; +task("test-browser-integration", () => exec(process.execPath, ["scripts/browserIntegrationTest.mjs"])); +task("test-browser-integration").description = "Runs scripts/browserIntegrationTest.mjs which tests that typescript.js loads in a browser"; task("diff", () => exec(getDiffTool(), [refBaseline, localBaseline], { ignoreExitCode: true, waitForExit: false })); @@ -486,21 +476,6 @@ task("baseline-accept").description = "Makes the most recent test results the ne task("baseline-accept-rwc", () => baselineAccept(localRwcBaseline, refRwcBaseline)); task("baseline-accept-rwc").description = "Makes the most recent rwc test results the new baseline, overwriting the old baseline"; -const buildLoggedIO = () => buildProject("src/loggedIO/tsconfig-tsc-instrumented.json"); -const cleanLoggedIO = () => del("built/local/loggedIO.js"); -cleanTasks.push(cleanLoggedIO); - -const buildInstrumenter = () => buildProject("src/instrumenter"); -const cleanInstrumenter = () => cleanProject("src/instrumenter"); -cleanTasks.push(cleanInstrumenter); - -const tscInstrumented = () => exec(process.execPath, ["built/local/instrumenter.js", "record", cmdLineOptions.tests || "iocapture", "built/local/tsc.js"]); -task("tsc-instrumented", series(lkgPreBuild, parallel(localize, buildTsc, buildServer, buildServices, buildLssl, buildLoggedIO, buildInstrumenter), tscInstrumented)); -task("tsc-instrumented").description = "Builds an instrumented tsc.js"; -task("tsc-instrumented").flags = { - "-t --tests=": "The test to run." -}; - // TODO(rbuckton): Determine if we still need this task. Depending on a relative // path here seems like a bad idea. const updateSublime = () => src(["built/local/tsserver.js", "built/local/tsserver.js.map"]) @@ -508,13 +483,9 @@ const updateSublime = () => src(["built/local/tsserver.js", "built/local/tsserve task("update-sublime", updateSublime); task("update-sublime").description = "Updates the sublime plugin's tsserver"; -const buildImportDefinitelyTypedTests = () => buildProject("scripts/importDefinitelyTypedTests"); -const cleanImportDefinitelyTypedTests = () => cleanProject("scripts/importDefinitelyTypedTests"); -cleanTasks.push(cleanImportDefinitelyTypedTests); - // TODO(rbuckton): Should the path to DefinitelyTyped be configurable via an environment variable? -const importDefinitelyTypedTests = () => exec(process.execPath, ["scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.js", "./", "../DefinitelyTyped"]); -task("importDefinitelyTypedTests", series(buildImportDefinitelyTypedTests, importDefinitelyTypedTests)); +const importDefinitelyTypedTests = () => exec(process.execPath, ["scripts/importDefinitelyTypedTests.mjs", "./", "../DefinitelyTyped"]); +task("importDefinitelyTypedTests", importDefinitelyTypedTests); task("importDefinitelyTypedTests").description = "Runs the importDefinitelyTypedTests script to copy DT's tests to the TS-internal RWC tests"; const buildReleaseTsc = () => buildProject("src/tsc/tsconfig.release.json"); @@ -544,7 +515,7 @@ const produceLKG = async () => { throw new Error("Cannot replace the LKG unless all built targets are present in directory 'built/local/'. The following files are missing:\n" + missingFiles.join("\n")); } const sizeBefore = getDirSize("lib"); - await exec(process.execPath, ["scripts/produceLKG.js"]); + await exec(process.execPath, ["scripts/produceLKG.mjs"]); const sizeAfter = getDirSize("lib"); if (sizeAfter > (sizeBefore * 1.10)) { throw new Error("The lib folder increased by 10% or more. This likely indicates a bug."); @@ -558,28 +529,24 @@ task("LKG").flags = { }; task("lkg", series("LKG")); -const generateSpec = () => exec("cscript", ["//nologo", "scripts/word2md.js", path.resolve("doc/TypeScript Language Specification - ARCHIVED.docx"), path.resolve("doc/spec-ARCHIVED.md")]); -task("generate-spec", series(buildScripts, generateSpec)); +const generateSpec = () => exec("cscript", ["//nologo", "scripts/word2md.mjs", path.resolve("doc/TypeScript Language Specification - ARCHIVED.docx"), path.resolve("doc/spec-ARCHIVED.md")]); +task("generate-spec", generateSpec); task("generate-spec").description = "Generates a Markdown version of the Language Specification"; task("clean", series(parallel(cleanTasks), cleanBuilt)); task("clean").description = "Cleans build outputs"; -const configureNightly = () => exec(process.execPath, ["scripts/configurePrerelease.js", "dev", "package.json", "src/compiler/corePublic.ts"]); +const configureNightly = () => exec(process.execPath, ["scripts/configurePrerelease.mjs", "dev", "package.json", "src/compiler/corePublic.ts"]); task("configure-nightly", series(buildScripts, configureNightly)); task("configure-nightly").description = "Runs scripts/configurePrerelease.ts to prepare a build for nightly publishing"; -const configureInsiders = () => exec(process.execPath, ["scripts/configurePrerelease.js", "insiders", "package.json", "src/compiler/corePublic.ts"]); -task("configure-insiders", series(buildScripts, configureInsiders)); -task("configure-insiders").description = "Runs scripts/configurePrerelease.ts to prepare a build for insiders publishing"; - -const configureExperimental = () => exec(process.execPath, ["scripts/configurePrerelease.js", "experimental", "package.json", "src/compiler/corePublic.ts"]); -task("configure-experimental", series(buildScripts, configureExperimental)); -task("configure-experimental").description = "Runs scripts/configurePrerelease.ts to prepare a build for experimental publishing"; +const configureInsiders = () => exec(process.execPath, ["scripts/configurePrerelease.mjs", "insiders", "package.json", "src/compiler/corePublic.ts"]); +task("configure-insiders", configureInsiders); +task("configure-insiders").description = "Runs scripts/configurePrerelease.mjs to prepare a build for insiders publishing"; -const createLanguageServicesBuild = () => exec(process.execPath, ["scripts/createLanguageServicesBuild.js"]); -task("create-language-services-build", series(buildScripts, createLanguageServicesBuild)); -task("create-language-services-build").description = "Runs scripts/createLanguageServicesBuild.ts to prepare a build which only has the require('typescript') JS."; +const configureExperimental = () => exec(process.execPath, ["scripts/configurePrerelease.mjs", "experimental", "package.json", "src/compiler/corePublic.ts"]); +task("configure-experimental", configureExperimental); +task("configure-experimental").description = "Runs scripts/configurePrerelease.mjs to prepare a build for experimental publishing"; const publishNightly = () => exec("npm", ["publish", "--tag", "next"]); task("publish-nightly", series(task("clean"), task("LKG"), task("clean"), task("runtests-parallel"), publishNightly)); diff --git a/lib/tsc.js b/lib/tsc.js index ab79f9e91feec..74c8a3733fa68 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { var ts; (function (ts) { ts.versionMajorMinor = "4.8"; - ts.version = "4.8.3"; + ts.version = "4.8.4"; var NativeCollections; (function (NativeCollections) { var globals = typeof globalThis !== "undefined" ? globalThis : @@ -25457,6 +25457,7 @@ var ts; case 335: case 336: case 331: + case 337: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); case 350: @@ -34938,7 +34939,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -36067,13 +36068,13 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { - return packageJsonInfo.resolvedEntrypoints; + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -36081,13 +36082,13 @@ var ts; var requireState = getTemporaryModuleResolutionState(cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), host, options); requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; - var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -36096,7 +36097,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -36192,7 +36193,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -36208,7 +36211,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -36320,17 +36323,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -36338,30 +36340,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, false); return loadModuleFromTargetImportOrExport(mainExport, "", false); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, false); if (result) { return result; } @@ -36379,8 +36381,7 @@ var ts; } return toSearchResult(undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -36388,13 +36389,13 @@ var ts; } return toSearchResult(undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, true); if (result) { return result; } @@ -36691,20 +36692,20 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest; var loader = function (extensions, candidate, onlyRecordFailures, state) { var _a; - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { pathAndExtension = loadModuleFromFile(extensions, ts.combinePaths(candidate, "index.js"), onlyRecordFailures, state); } @@ -36713,12 +36714,12 @@ var ts; if (rest !== "") { var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { + if (packageInfo && packageInfo.contents.versionPaths) { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); } var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, undefined, loader, !packageDirectoryExists, state); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, undefined, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } @@ -40287,6 +40288,7 @@ var ts; var wildcardType = createIntrinsicType(1, "any"); var errorType = createIntrinsicType(1, "error"); var unresolvedType = createIntrinsicType(1, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1, "any", 65536); var intrinsicMarkerType = createIntrinsicType(1, "intrinsic"); var unknownType = createIntrinsicType(2, "unknown"); var nonNullUnknownType = createIntrinsicType(2, "unknown"); @@ -42545,7 +42547,7 @@ var ts; if (ext === ".ts" || ext === ".js" || ext === ".tsx" || ext === ".jsx") { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" ? ".mts" : ext === ".js" ? ".mjs" : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); } @@ -44559,19 +44561,14 @@ var ts; context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, undefined, visited.propertyName, undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -47113,7 +47110,7 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + return includePatternInType ? nonInferrableAnyType : anyType; } function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { var members = ts.createSymbolTable(); @@ -48941,6 +48938,10 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152) { + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 | 8 | 64)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -57813,7 +57814,7 @@ var ts; } var inference = getInferenceInfoForType(target); if (inference) { - if (ts.getObjectFlags(source) & 262144) { + if (ts.getObjectFlags(source) & 262144 || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -68354,7 +68355,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -76001,7 +76002,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { var assertionArgument = nodeArguments[1]; @@ -97471,7 +97472,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -98966,7 +98967,7 @@ var ts; return result; } function getCreateSourceFileOptions(fileName, moduleResolutionCache, host, options) { - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -102976,7 +102977,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -103308,7 +103309,7 @@ var ts; break; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { - (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(undefined, file.packageJsonScope.packageJsonContent.type ? + (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } diff --git a/lib/tsserver.js b/lib/tsserver.js index b696263504d68..33a0f2908cad3 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -109,7 +109,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.3"; + ts.version = "4.8.4"; /* @internal */ var Comparison; (function (Comparison) { @@ -31516,6 +31516,7 @@ var ts; case 335 /* SyntaxKind.JSDocProtectedTag */: case 336 /* SyntaxKind.JSDocReadonlyTag */: case 331 /* SyntaxKind.JSDocDeprecatedTag */: + case 337 /* SyntaxKind.JSDocOverrideTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); case 350 /* SyntaxKind.PartiallyEmittedExpression */: @@ -42804,7 +42805,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -44123,16 +44124,16 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } /* @internal */ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { // Cached value excludes resolutions to JS files - those could be // cached separately, but they're used rarely. - return packageJsonInfo.resolvedEntrypoints; + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -44141,13 +44142,13 @@ var ts; requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, - /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -44156,7 +44157,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -44260,7 +44261,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -44276,7 +44279,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -44401,17 +44404,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -44419,30 +44421,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false); if (result) { return result; } @@ -44460,8 +44462,7 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -44469,13 +44470,13 @@ var ts; } return toSearchResult(/*value*/ undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true); if (result) { return result; } @@ -44820,7 +44821,7 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } @@ -44828,14 +44829,14 @@ var ts; var loader = function (extensions, candidate, onlyRecordFailures, state) { var _a; // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them) - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo // eslint-disable-next-line no-null/no-null - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -44847,12 +44848,12 @@ var ts; var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { + if (packageInfo && packageInfo.contents.versionPaths) { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); } var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } @@ -49153,6 +49154,7 @@ var ts; var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -51754,7 +51756,7 @@ var ts; if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); @@ -53982,22 +53984,15 @@ var ts; context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, - /*initializer*/ undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -56992,7 +56987,11 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + // When we're including the pattern in the type (an indication we're obtaining a contextual type), we + // use a non-inferrable any type. Inference will never directly infer this type, but it is possible + // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, + // widening of the binding pattern type substitutes a regular any for the non-inferrable any. + return includePatternInType ? nonInferrableAnyType : anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -59093,6 +59092,12 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152 /* TypeFlags.Intersection */) { + // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {}, + // and bigint & {} intersections that are used to prevent subtype reduction in union types. + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -69280,7 +69285,10 @@ var ts; // // This flag is infectious; if we produce Box (where never is silentNeverType), Box is // also non-inferrable. - if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { + // + // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type + // used as a stand-in for binding elements when they are being inferred. + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -81446,7 +81454,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -90225,7 +90233,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { @@ -117872,7 +117880,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -119603,7 +119611,7 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -124264,7 +124272,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -124626,7 +124634,7 @@ var ts; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( - /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } @@ -141362,7 +141370,7 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels @@ -178842,7 +178850,7 @@ var ts; var packageDirectory = fileName.substring(0, nodeModulesPathParts.packageRootIndex); var packageJsonCache = (_a = project.getModuleResolutionCache()) === null || _a === void 0 ? void 0 : _a.getPackageJsonInfoCache(); var compilerOptions = project.getCompilationSettings(); - var packageJson = ts.getPackageScopeForPath(project.toPath(packageDirectory + "/package.json"), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions)); + var packageJson = ts.getPackageScopeForPath(ts.getNormalizedAbsolutePath(packageDirectory + "/package.json", project.getCurrentDirectory()), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions)); if (!packageJson) return undefined; // Use fake options instead of actual compiler options to avoid following export map if the project uses node16 or nodenext - diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index 53b8c929ba8f1..b6532d29d2c4c 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -303,7 +303,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.3"; + ts.version = "4.8.4"; /* @internal */ var Comparison; (function (Comparison) { @@ -31710,6 +31710,7 @@ var ts; case 335 /* SyntaxKind.JSDocProtectedTag */: case 336 /* SyntaxKind.JSDocReadonlyTag */: case 331 /* SyntaxKind.JSDocDeprecatedTag */: + case 337 /* SyntaxKind.JSDocOverrideTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); case 350 /* SyntaxKind.PartiallyEmittedExpression */: @@ -42998,7 +42999,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -44317,16 +44318,16 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } /* @internal */ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { // Cached value excludes resolutions to JS files - those could be // cached separately, but they're used rarely. - return packageJsonInfo.resolvedEntrypoints; + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -44335,13 +44336,13 @@ var ts; requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, - /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -44350,7 +44351,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -44454,7 +44455,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -44470,7 +44473,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -44595,17 +44598,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -44613,30 +44615,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false); if (result) { return result; } @@ -44654,8 +44656,7 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -44663,13 +44664,13 @@ var ts; } return toSearchResult(/*value*/ undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true); if (result) { return result; } @@ -45014,7 +45015,7 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } @@ -45022,14 +45023,14 @@ var ts; var loader = function (extensions, candidate, onlyRecordFailures, state) { var _a; // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them) - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo // eslint-disable-next-line no-null/no-null - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -45041,12 +45042,12 @@ var ts; var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { + if (packageInfo && packageInfo.contents.versionPaths) { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); } var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } @@ -49347,6 +49348,7 @@ var ts; var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -51948,7 +51950,7 @@ var ts; if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); @@ -54176,22 +54178,15 @@ var ts; context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, - /*initializer*/ undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -57186,7 +57181,11 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + // When we're including the pattern in the type (an indication we're obtaining a contextual type), we + // use a non-inferrable any type. Inference will never directly infer this type, but it is possible + // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, + // widening of the binding pattern type substitutes a regular any for the non-inferrable any. + return includePatternInType ? nonInferrableAnyType : anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -59287,6 +59286,12 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152 /* TypeFlags.Intersection */) { + // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {}, + // and bigint & {} intersections that are used to prevent subtype reduction in union types. + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -69474,7 +69479,10 @@ var ts; // // This flag is infectious; if we produce Box (where never is silentNeverType), Box is // also non-inferrable. - if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { + // + // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type + // used as a stand-in for binding elements when they are being inferred. + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -81640,7 +81648,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -90419,7 +90427,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { @@ -118066,7 +118074,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -119797,7 +119805,7 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -124458,7 +124466,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -124820,7 +124828,7 @@ var ts; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( - /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } @@ -141975,7 +141983,7 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels @@ -179036,7 +179044,7 @@ var ts; var packageDirectory = fileName.substring(0, nodeModulesPathParts.packageRootIndex); var packageJsonCache = (_a = project.getModuleResolutionCache()) === null || _a === void 0 ? void 0 : _a.getPackageJsonInfoCache(); var compilerOptions = project.getCompilationSettings(); - var packageJson = ts.getPackageScopeForPath(project.toPath(packageDirectory + "/package.json"), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions)); + var packageJson = ts.getPackageScopeForPath(ts.getNormalizedAbsolutePath(packageDirectory + "/package.json", project.getCurrentDirectory()), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions)); if (!packageJson) return undefined; // Use fake options instead of actual compiler options to avoid following export map if the project uses node16 or nodenext - diff --git a/lib/typescript.js b/lib/typescript.js index 3c93c04e0e47a..c0f6f3a5702b4 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -294,7 +294,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.3"; + ts.version = "4.8.4"; /* @internal */ var Comparison; (function (Comparison) { @@ -31701,6 +31701,7 @@ var ts; case 335 /* SyntaxKind.JSDocProtectedTag */: case 336 /* SyntaxKind.JSDocReadonlyTag */: case 331 /* SyntaxKind.JSDocDeprecatedTag */: + case 337 /* SyntaxKind.JSDocOverrideTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); case 350 /* SyntaxKind.PartiallyEmittedExpression */: @@ -42989,7 +42990,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -44308,16 +44309,16 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } /* @internal */ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { // Cached value excludes resolutions to JS files - those could be // cached separately, but they're used rarely. - return packageJsonInfo.resolvedEntrypoints; + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -44326,13 +44327,13 @@ var ts; requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, - /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -44341,7 +44342,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -44445,7 +44446,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -44461,7 +44464,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -44586,17 +44589,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -44604,30 +44606,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false); if (result) { return result; } @@ -44645,8 +44647,7 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -44654,13 +44655,13 @@ var ts; } return toSearchResult(/*value*/ undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true); if (result) { return result; } @@ -45005,7 +45006,7 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } @@ -45013,14 +45014,14 @@ var ts; var loader = function (extensions, candidate, onlyRecordFailures, state) { var _a; // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them) - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo // eslint-disable-next-line no-null/no-null - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -45032,12 +45033,12 @@ var ts; var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { + if (packageInfo && packageInfo.contents.versionPaths) { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); } var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } @@ -49338,6 +49339,7 @@ var ts; var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -51939,7 +51941,7 @@ var ts; if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); @@ -54167,22 +54169,15 @@ var ts; context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, - /*initializer*/ undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -57177,7 +57172,11 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + // When we're including the pattern in the type (an indication we're obtaining a contextual type), we + // use a non-inferrable any type. Inference will never directly infer this type, but it is possible + // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, + // widening of the binding pattern type substitutes a regular any for the non-inferrable any. + return includePatternInType ? nonInferrableAnyType : anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -59278,6 +59277,12 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152 /* TypeFlags.Intersection */) { + // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {}, + // and bigint & {} intersections that are used to prevent subtype reduction in union types. + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -69465,7 +69470,10 @@ var ts; // // This flag is infectious; if we produce Box (where never is silentNeverType), Box is // also non-inferrable. - if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { + // + // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type + // used as a stand-in for binding elements when they are being inferred. + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -81631,7 +81639,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -90410,7 +90418,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { @@ -118057,7 +118065,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -119788,7 +119796,7 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -124449,7 +124457,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -124811,7 +124819,7 @@ var ts; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( - /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } @@ -141966,7 +141974,7 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js index 61b1259b561f8..955e00658c063 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -294,7 +294,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.3"; + ts.version = "4.8.4"; /* @internal */ var Comparison; (function (Comparison) { @@ -31701,6 +31701,7 @@ var ts; case 335 /* SyntaxKind.JSDocProtectedTag */: case 336 /* SyntaxKind.JSDocReadonlyTag */: case 331 /* SyntaxKind.JSDocDeprecatedTag */: + case 337 /* SyntaxKind.JSDocOverrideTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); case 350 /* SyntaxKind.PartiallyEmittedExpression */: @@ -42989,7 +42990,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -44308,16 +44309,16 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } /* @internal */ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { // Cached value excludes resolutions to JS files - those could be // cached separately, but they're used rarely. - return packageJsonInfo.resolvedEntrypoints; + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -44326,13 +44327,13 @@ var ts; requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, - /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -44341,7 +44342,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -44445,7 +44446,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -44461,7 +44464,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -44586,17 +44589,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -44604,30 +44606,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false); if (result) { return result; } @@ -44645,8 +44647,7 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -44654,13 +44655,13 @@ var ts; } return toSearchResult(/*value*/ undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true); if (result) { return result; } @@ -45005,7 +45006,7 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } @@ -45013,14 +45014,14 @@ var ts; var loader = function (extensions, candidate, onlyRecordFailures, state) { var _a; // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them) - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo // eslint-disable-next-line no-null/no-null - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -45032,12 +45033,12 @@ var ts; var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { + if (packageInfo && packageInfo.contents.versionPaths) { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); } var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } @@ -49338,6 +49339,7 @@ var ts; var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -51939,7 +51941,7 @@ var ts; if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); @@ -54167,22 +54169,15 @@ var ts; context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, - /*initializer*/ undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -57177,7 +57172,11 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + // When we're including the pattern in the type (an indication we're obtaining a contextual type), we + // use a non-inferrable any type. Inference will never directly infer this type, but it is possible + // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, + // widening of the binding pattern type substitutes a regular any for the non-inferrable any. + return includePatternInType ? nonInferrableAnyType : anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -59278,6 +59277,12 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152 /* TypeFlags.Intersection */) { + // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {}, + // and bigint & {} intersections that are used to prevent subtype reduction in union types. + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -69465,7 +69470,10 @@ var ts; // // This flag is infectious; if we produce Box (where never is silentNeverType), Box is // also non-inferrable. - if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { + // + // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type + // used as a stand-in for binding elements when they are being inferred. + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -81631,7 +81639,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -90410,7 +90418,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { @@ -118057,7 +118065,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -119788,7 +119796,7 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -124449,7 +124457,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -124811,7 +124819,7 @@ var ts; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( - /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } @@ -141966,7 +141974,7 @@ var ts; } var parent = node.parent; var typeChecker = program.getTypeChecker(); - if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) { + if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) { return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray; } // Labels diff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js index 9303e787c1ef4..c7a265d6c0dcc 100644 --- a/lib/typingsInstaller.js +++ b/lib/typingsInstaller.js @@ -89,7 +89,7 @@ var ts; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ // eslint-disable-next-line @typescript-eslint/no-inferrable-types - ts.version = "4.8.3"; + ts.version = "4.8.4"; /* @internal */ var Comparison; (function (Comparison) { @@ -31496,6 +31496,7 @@ var ts; case 335 /* SyntaxKind.JSDocProtectedTag */: case 336 /* SyntaxKind.JSDocReadonlyTag */: case 331 /* SyntaxKind.JSDocDeprecatedTag */: + case 337 /* SyntaxKind.JSDocOverrideTag */: return visitNode(cbNode, node.tagName) || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment)); case 350 /* SyntaxKind.PartiallyEmittedExpression */: @@ -42784,7 +42785,7 @@ var ts; function withPackageId(packageInfo, r) { var packageId; if (r && packageInfo) { - var packageJsonContent = packageInfo.packageJsonContent; + var packageJsonContent = packageInfo.contents.packageJsonContent; if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { packageId = { name: packageJsonContent.name, @@ -44103,16 +44104,16 @@ var ts; function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) { if (considerPackageJson === void 0) { considerPackageJson = true; } var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; - var packageJsonContent = packageInfo && packageInfo.packageJsonContent; - var versionPaths = packageInfo && packageInfo.versionPaths; + var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent; + var versionPaths = packageInfo && packageInfo.contents.versionPaths; return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } /* @internal */ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { - if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { + if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) { // Cached value excludes resolutions to JS files - those could be // cached separately, but they're used rarely. - return packageJsonInfo.resolvedEntrypoints; + return packageJsonInfo.contents.resolvedEntrypoints; } var entrypoints; var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; @@ -44121,13 +44122,13 @@ var ts; requireState.conditions = ["node", "require", "types"]; requireState.requestContainingDirectory = packageJsonInfo.packageDirectory; var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, - /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); + /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths); entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); - if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { + if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) { for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { var conditions = _a[_i]; var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); - var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); + var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions); if (exportResolutions) { for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { var resolution = exportResolutions_1[_b]; @@ -44136,7 +44137,7 @@ var ts; } } } - return packageJsonInfo.resolvedEntrypoints = entrypoints || false; + return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false; } ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; function loadEntrypointsFromExportMap(scope, exports, state, extensions) { @@ -44240,7 +44241,9 @@ var ts; if (traceEnabled) trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath); state.affectingLocations.push(packageJsonPath); - return existing; + return existing.packageDirectory === packageDirectory ? + existing : + { packageDirectory: packageDirectory, contents: existing.contents }; } else { if (existing && traceEnabled) @@ -44256,7 +44259,7 @@ var ts; trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath); } var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined }; + var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } }; (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result); state.affectingLocations.push(packageJsonPath); return result; @@ -44381,17 +44384,16 @@ var ts; } function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) { var _a, _b; - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); - if (!scope || !scope.packageJsonContent.exports) { + if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; } - if (typeof scope.packageJsonContent.name !== "string") { + if (typeof scope.contents.packageJsonContent.name !== "string") { return undefined; } var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry - var nameParts = ts.getPathComponents(scope.packageJsonContent.name); + var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name); if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) { return undefined; } @@ -44399,30 +44401,30 @@ var ts; return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference); } function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) { - if (!scope.packageJsonContent.exports) { + if (!scope.contents.packageJsonContent.exports) { return undefined; } if (subpath === ".") { var mainExport = void 0; - if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) { - mainExport = scope.packageJsonContent.exports; + if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) { + mainExport = scope.contents.packageJsonContent.exports; } - else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) { - mainExport = scope.packageJsonContent.exports["."]; + else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) { + mainExport = scope.contents.packageJsonContent.exports["."]; } if (mainExport) { var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); } } - else if (allKeysStartWithDot(scope.packageJsonContent.exports)) { - if (typeof scope.packageJsonContent.exports !== "object") { + else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) { + if (typeof scope.contents.packageJsonContent.exports !== "object") { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false); if (result) { return result; } @@ -44440,8 +44442,7 @@ var ts; } return toSearchResult(/*value*/ undefined); } - var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames; - var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames)); + var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)); var scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { @@ -44449,13 +44450,13 @@ var ts; } return toSearchResult(/*value*/ undefined); } - if (!scope.packageJsonContent.imports) { + if (!scope.contents.packageJsonContent.imports) { if (state.traceEnabled) { trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory); } return toSearchResult(/*value*/ undefined); } - var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true); + var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true); if (result) { return result; } @@ -44800,7 +44801,7 @@ var ts; if (fromFile) { return noPackageId(fromFile); } - var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths); + var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths); return withPackageId(packageInfo, fromDirectory); } } @@ -44808,14 +44809,14 @@ var ts; var loader = function (extensions, candidate, onlyRecordFailures, state) { var _a; // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them) - if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { + if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) { return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value; } var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths); + loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths); if (!pathAndExtension && packageInfo // eslint-disable-next-line no-null/no-null - && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null) + && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null) && state.features & NodeResolutionFeatures.EsmMode) { // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume // a default `index.js` entrypoint if no `main` or `exports` are present @@ -44827,12 +44828,12 @@ var ts; var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); - if (packageInfo && packageInfo.versionPaths) { + if (packageInfo && packageInfo.contents.versionPaths) { if (state.traceEnabled) { - trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest); + trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest); } var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host); - var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); + var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } @@ -49133,6 +49134,7 @@ var ts; var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any"); var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error"); var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved"); + var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */); var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic"); var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown"); @@ -51734,7 +51736,7 @@ var ts; if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) { var scope = currentSourceFile.packageJsonScope; var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined; - if (scope && !scope.packageJsonContent.type) { + if (scope && !scope.contents.packageJsonContent.type) { if (targetExt) { diagnosticDetails = ts.chainDiagnosticMessages( /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json")); @@ -53962,22 +53964,15 @@ var ts; context.approximateLength += ts.symbolName(parameterSymbol).length + 3; return parameterNode; function cloneBindingName(node) { - return elideInitializerAndPropertyRenamingAndSetEmitFlags(node); - function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) { + return elideInitializerAndSetEmitFlags(node); + function elideInitializerAndSetEmitFlags(node) { if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { trackComputedName(node.expression, context.enclosingDeclaration, context); } - var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags); + var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); if (ts.isBindingElement(visited)) { - if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, - /* propertyName*/ undefined, visited.propertyName, - /*initializer*/ undefined); - } - else { - visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, - /*initializer*/ undefined); - } + visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, + /*initializer*/ undefined); } if (!ts.nodeIsSynthesized(visited)) { visited = ts.factory.cloneNode(visited); @@ -56972,7 +56967,11 @@ var ts; if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) { reportImplicitAny(element, anyType); } - return anyType; + // When we're including the pattern in the type (an indication we're obtaining a contextual type), we + // use a non-inferrable any type. Inference will never directly infer this type, but it is possible + // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases, + // widening of the binding pattern type substitutes a regular any for the non-inferrable any. + return includePatternInType ? nonInferrableAnyType : anyType; } // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) { @@ -59073,6 +59072,12 @@ var ts; return mapType(type, getLowerBoundOfKeyType); } if (type.flags & 2097152 /* TypeFlags.Intersection */) { + // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {}, + // and bigint & {} intersections that are used to prevent subtype reduction in union types. + var types = type.types; + if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) { + return type; + } return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType)); } return type; @@ -69260,7 +69265,10 @@ var ts; // // This flag is infectious; if we produce Box (where never is silentNeverType), Box is // also non-inferrable. - if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) { + // + // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type + // used as a stand-in for binding elements when they are being inferred. + if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) { return; } if (!inference.isFixed) { @@ -81426,7 +81434,7 @@ var ts; checkDecorators(node); } function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) { - if (index < typeParameters.length) { + if (node.typeArguments && index < node.typeArguments.length) { return getTypeFromTypeNode(node.typeArguments[index]); } return getEffectiveTypeArguments(node, typeParameters)[index]; @@ -90205,7 +90213,7 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments); } var nodeArguments = node.arguments; - if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) { + if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) { // We are allowed trailing comma after proposal-import-assertions. checkGrammarForDisallowedTrailingComma(nodeArguments); if (nodeArguments.length > 1) { @@ -117852,7 +117860,7 @@ var ts; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; var packageJsonScope = ts.getPackageScopeForPath(fileName, state); - var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; + var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS; return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope }; } } @@ -119583,7 +119591,7 @@ var ts; // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront. - var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); + var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options); var languageVersion = ts.getEmitScriptTarget(options); var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options); return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) : @@ -124244,7 +124252,7 @@ var ts; var maybeBlockedByTypesVersions = false; var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath); if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { - var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); + var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath)); var importMode = overrideMode || importingSourceFile.impliedNodeFormat; if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) { var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"]; @@ -124606,7 +124614,7 @@ var ts; case ts.ModuleKind.CommonJS: if (file.packageJsonScope) { (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages( - /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ? + /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ? ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module : ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor))); } diff --git a/package-lock.json b/package-lock.json index c0806c485758b..7628b831cc985 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "devDependencies": { "@octokit/rest": "latest", "@types/chai": "latest", + "@types/fancy-log": "^2.0.0", "@types/fs-extra": "^9.0.13", "@types/glob": "latest", "@types/gulp": "^4.0.9", @@ -29,8 +30,8 @@ "@types/mocha": "latest", "@types/ms": "latest", "@types/node": "latest", - "@types/node-fetch": "^2.6.2", "@types/source-map-support": "latest", + "@types/which": "^2.0.1", "@types/xml2js": "^0.4.11", "@typescript-eslint/eslint-plugin": "^5.33.1", "@typescript-eslint/parser": "^5.33.1", @@ -61,9 +62,9 @@ "mocha": "latest", "mocha-fivemat-progress-reporter": "latest", "ms": "^2.1.3", - "node-fetch": "^2.6.7", + "node-fetch": "^3.2.10", "source-map-support": "latest", - "typescript": "^4.8.3", + "typescript": "^4.8.4", "vinyl": "latest", "which": "^2.0.2", "xml2js": "^0.4.23" @@ -73,9 +74,9 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz", - "integrity": "sha512-tc1/iuQcnaiSIUVad72PBierDFpsxdUHtEF/OrfqvM1CBAsIoMP51j52jTMb3dXriwhieTo289InzZj72jL3EQ==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.33.4.tgz", + "integrity": "sha512-02XyYuvR/Gn+3BT6idHVNQ4SSQlA1X1FeEfeKm2ypv8ANB6Lt9KRFZ2S7y5xjwR+EPQ/Rzb0XFaD+xKyqe4ALw==", "dev": true, "dependencies": { "comment-parser": "1.3.1", @@ -83,13 +84,13 @@ "jsdoc-type-pratt-parser": "~3.1.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18" + "node": "^14 || ^16 || ^17 || ^18 || ^19" } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -173,29 +174,19 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", - "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -251,28 +242,28 @@ } }, "node_modules/@octokit/auth-token": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.1.tgz", - "integrity": "sha512-/USkK4cioY209wXRpund6HZzHo9GmjakpV9ycOkpMcMxMk7QVcVFVyCMtzvXYiHsB2crgDgrtNYSELYFBXhhaA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", + "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", "dev": true, "dependencies": { - "@octokit/types": "^7.0.0" + "@octokit/types": "^8.0.0" }, "engines": { "node": ">= 14" } }, "node_modules/@octokit/core": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.0.5.tgz", - "integrity": "sha512-4R3HeHTYVHCfzSAi0C6pbGXV8UDI5Rk+k3G7kLVNckswN9mvpOzW9oENfjfH3nEmzg8y3AmKmzs8Sg6pLCeOCA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", + "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", "dev": true, "dependencies": { "@octokit/auth-token": "^3.0.0", "@octokit/graphql": "^5.0.0", "@octokit/request": "^6.0.0", "@octokit/request-error": "^3.0.0", - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" }, @@ -281,12 +272,12 @@ } }, "node_modules/@octokit/endpoint": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.2.tgz", - "integrity": "sha512-8/AUACfE9vpRpehE6ZLfEtzkibe5nfsSwFZVMsG8qabqRt1M81qZYUFRZa1B8w8lP6cdfDJfRq9HWS+MbmR7tw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", + "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", "dev": true, "dependencies": { - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" }, @@ -295,13 +286,13 @@ } }, "node_modules/@octokit/graphql": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.1.tgz", - "integrity": "sha512-sxmnewSwAixkP1TrLdE6yRG53eEhHhDTYUykUwdV9x8f91WcbhunIHk9x1PZLALdBZKRPUO2HRcm4kezZ79HoA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", + "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", "dev": true, "dependencies": { "@octokit/request": "^6.0.0", - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "universal-user-agent": "^6.0.0" }, "engines": { @@ -309,18 +300,18 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.12.0.tgz", - "integrity": "sha512-1QYzZrwnn3rTQE7ZoSxXrO8lhu0aIbac1c+qIPOPEaVXBWSaUyLV1x9yt4uDQOwmu6u5ywVS8OJgs+ErDLf6vQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-4.3.1.tgz", - "integrity": "sha512-h8KKxESmSFTcXX409CAxlaOYscEDvN2KGQRsLCGT1NSqRW+D6EXLVQ8vuHhFznS9MuH9QYw1GfsUN30bg8hjVA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz", + "integrity": "sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==", "dev": true, "dependencies": { - "@octokit/types": "^7.5.0" + "@octokit/types": "^8.0.0" }, "engines": { "node": ">= 14" @@ -339,12 +330,12 @@ } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.6.2.tgz", - "integrity": "sha512-n9dL5KMpz9qVFSNdcVWC8ZPbl68QbTk7+CMPXCXqaMZOLn1n1YuoSFFCy84Ge0fx333fUqpnBHv8BFjwGtUQkA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz", + "integrity": "sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==", "dev": true, "dependencies": { - "@octokit/types": "^7.5.0", + "@octokit/types": "^8.0.0", "deprecation": "^2.3.1" }, "engines": { @@ -355,14 +346,14 @@ } }, "node_modules/@octokit/request": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.1.tgz", - "integrity": "sha512-gYKRCia3cpajRzDSU+3pt1q2OcuC6PK8PmFIyxZDWCzRXRSIBH8jXjFJ8ZceoygBIm0KsEUg4x1+XcYBz7dHPQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", + "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", "dev": true, "dependencies": { "@octokit/endpoint": "^7.0.0", "@octokit/request-error": "^3.0.0", - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" @@ -372,12 +363,12 @@ } }, "node_modules/@octokit/request-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.1.tgz", - "integrity": "sha512-ym4Bp0HTP7F3VFssV88WD1ZyCIRoE8H35pXSKwLeMizcdZAYc/t6N9X9Yr9n6t3aG9IH75XDnZ6UeZph0vHMWQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", + "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", "dev": true, "dependencies": { - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" }, @@ -385,28 +376,48 @@ "node": ">= 14" } }, + "node_modules/@octokit/request/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@octokit/rest": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.4.tgz", - "integrity": "sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA==", + "version": "19.0.5", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz", + "integrity": "sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==", "dev": true, "dependencies": { - "@octokit/core": "^4.0.0", - "@octokit/plugin-paginate-rest": "^4.0.0", + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^5.0.0", "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^6.0.0" + "@octokit/plugin-rest-endpoint-methods": "^6.7.0" }, "engines": { "node": ">= 14" } }, "node_modules/@octokit/types": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.5.0.tgz", - "integrity": "sha512-aHm+olfIZjQpzoODpl+RCZzchKOrdSLJs+yfI7pMMcmB19Li6vidgx0DwUDO/Ic4Q3fq/lOjJORVCcLZefcrJw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^13.11.0" + "@octokit/openapi-types": "^14.0.0" } }, "node_modules/@types/chai": { @@ -421,6 +432,12 @@ "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", "dev": true }, + "node_modules/@types/fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-g39Vp8ZJ3D0gXhhkhDidVvdy4QajkF7/PV6HGn23FMaMqE/tLC1JNHUeQ7SshKLsBjucakZsXBLkWULbGLdL5g==", + "dev": true + }, "node_modules/@types/fs-extra": { "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", @@ -548,9 +565,9 @@ } }, "node_modules/@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.0.tgz", + "integrity": "sha512-rADY+HtTOA52l9VZWtgQfn4p+UDVM2eDVkMZT1I6syp0YKxW2F9v+0pbRZLsvskhQv/vMb6ZfCay81GHbz5SHg==", "dev": true }, "node_modules/@types/ms": { @@ -560,20 +577,16 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.7.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", - "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "version": "18.11.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.8.tgz", + "integrity": "sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A==", "dev": true }, - "node_modules/@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "dev": true, - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true }, "node_modules/@types/source-map-support": { "version": "0.5.6", @@ -622,6 +635,12 @@ "@types/vinyl": "*" } }, + "node_modules/@types/which": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.1.tgz", + "integrity": "sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==", + "dev": true + }, "node_modules/@types/xml2js": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.11.tgz", @@ -632,14 +651,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", - "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz", + "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/type-utils": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/type-utils": "5.41.0", + "@typescript-eslint/utils": "5.41.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -664,14 +683,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", - "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz", + "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", "debug": "^4.3.4" }, "engines": { @@ -691,13 +710,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", - "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz", + "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1" + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -708,13 +727,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", - "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz", + "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/utils": "5.41.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -735,9 +754,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", - "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz", + "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -748,13 +767,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", - "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz", + "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -775,17 +794,19 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", - "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz", + "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -799,12 +820,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", - "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz", + "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/types": "5.41.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -815,16 +836,10 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1234,12 +1249,6 @@ "node": ">= 0.10" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -1328,9 +1337,9 @@ } }, "node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, "node_modules/binary-extensions": { @@ -1381,12 +1390,15 @@ "dev": true }, "node_modules/buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/buffer-from": { @@ -1753,18 +1765,6 @@ "color-support": "bin.js" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/comment-parser": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", @@ -1811,13 +1811,10 @@ } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/copy-descriptor": { "version": "0.1.1", @@ -1879,6 +1876,15 @@ "type": "^1.0.1" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2030,15 +2036,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", @@ -2155,9 +2152,9 @@ } }, "node_modules/es-abstract": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", - "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", @@ -2170,7 +2167,7 @@ "has-property-descriptors": "^1.0.0", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "is-callable": "^1.2.6", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", @@ -2290,15 +2287,15 @@ } }, "node_modules/eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", + "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -2314,14 +2311,14 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "glob-parent": "^6.0.1", + "glob-parent": "^6.0.2", "globals": "^13.15.0", - "globby": "^11.1.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -2461,21 +2458,21 @@ "dev": true }, "node_modules/eslint-plugin-jsdoc": { - "version": "39.3.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.6.tgz", - "integrity": "sha512-R6dZ4t83qPdMhIOGr7g2QII2pwCjYyKP+z0tPOfO1bbAbQyKC20Y2Rd6z1te86Lq3T7uM8bNo+VD9YFpE8HU/g==", + "version": "39.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.4.0.tgz", + "integrity": "sha512-2FXAmh8lpO22aqZgu6NLB6berVnYgwbZx95BmjIIQjbRNwLIAwY0dtvSJDUZVW5nflv58c1gSWQjIJ8yLZ/+fw==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.31.0", + "@es-joy/jsdoccomment": "~0.33.4", "comment-parser": "1.3.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.4.0", - "semver": "^7.3.7", + "semver": "^7.3.8", "spdx-expression-parse": "^3.0.1" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18" + "node": "^14 || ^16 || ^17 || ^18 || ^19" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0" @@ -2921,6 +2918,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-fifo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", + "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -2958,6 +2961,29 @@ "reusify": "^1.0.4" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3286,18 +3312,16 @@ "node": ">=0.10.0" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "fetch-blob": "^3.1.2" }, "engines": { - "node": ">= 6" + "node": ">=12.20.0" } }, "node_modules/fragment-cache": { @@ -4054,6 +4078,32 @@ "node": ">= 0.10" } }, + "node_modules/gulp-concat/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-concat/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/gulp-insert": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/gulp-insert/-/gulp-insert-0.5.0.tgz", @@ -4538,9 +4588,9 @@ } }, "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -4904,9 +4954,9 @@ } }, "node_modules/js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", "dev": true }, "node_modules/js-yaml": { @@ -5467,27 +5517,6 @@ "node": ">=8.6" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5501,10 +5530,13 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mixin-deep": { "version": "1.3.2", @@ -5532,12 +5564,11 @@ } }, "node_modules/mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", "dev": true, "dependencies": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -5767,9 +5798,9 @@ } }, "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, @@ -5850,24 +5881,41 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.10.tgz", + "integrity": "sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==", "dev": true, "dependencies": { - "whatwg-url": "^5.0.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, "node_modules/normalize-package-data": { @@ -6562,6 +6610,12 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -6783,12 +6837,12 @@ } }, "node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true, "engines": { - "node": ">= 0.10" + "node": ">= 10" } }, "node_modules/replace-homedir": { @@ -6991,9 +7045,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -7573,6 +7627,16 @@ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", "dev": true }, + "node_modules/streamx": { + "version": "2.12.5", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.12.5.tgz", + "integrity": "sha512-Y+nkFw57Z5JHT3zLlqFm3GccOy2FeYdUrrqita6Dd8kr/8enPn9GKa8IYf3/DmEKfZl/E2sWoSKUnd4qhonrgg==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.0.0", + "queue-tick": "^1.0.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -7721,6 +7785,15 @@ "es6-symbol": "^3.1.1" } }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "dev": true, + "dependencies": { + "streamx": "^2.12.5" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -7960,9 +8033,9 @@ "dev": true }, "node_modules/typescript": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", - "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -8217,20 +8290,19 @@ } }, "node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", + "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", + "clone": "^2.1.2", "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=10.13.0" } }, "node_modules/vinyl-fs": { @@ -8261,6 +8333,32 @@ "node": ">= 0.10" } }, + "node_modules/vinyl-fs/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/vinyl-sourcemap": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", @@ -8291,6 +8389,41 @@ "node": ">=0.10.0" } }, + "node_modules/vinyl-sourcemap/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -8536,9 +8669,9 @@ }, "dependencies": { "@es-joy/jsdoccomment": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz", - "integrity": "sha512-tc1/iuQcnaiSIUVad72PBierDFpsxdUHtEF/OrfqvM1CBAsIoMP51j52jTMb3dXriwhieTo289InzZj72jL3EQ==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.33.4.tgz", + "integrity": "sha512-02XyYuvR/Gn+3BT6idHVNQ4SSQlA1X1FeEfeKm2ypv8ANB6Lt9KRFZ2S7y5xjwR+EPQ/Rzb0XFaD+xKyqe4ALw==", "dev": true, "requires": { "comment-parser": "1.3.1", @@ -8547,9 +8680,9 @@ } }, "@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -8616,22 +8749,16 @@ } }, "@humanwhocodes/config-array": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", - "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true - }, "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -8671,64 +8798,64 @@ } }, "@octokit/auth-token": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.1.tgz", - "integrity": "sha512-/USkK4cioY209wXRpund6HZzHo9GmjakpV9ycOkpMcMxMk7QVcVFVyCMtzvXYiHsB2crgDgrtNYSELYFBXhhaA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz", + "integrity": "sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==", "dev": true, "requires": { - "@octokit/types": "^7.0.0" + "@octokit/types": "^8.0.0" } }, "@octokit/core": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.0.5.tgz", - "integrity": "sha512-4R3HeHTYVHCfzSAi0C6pbGXV8UDI5Rk+k3G7kLVNckswN9mvpOzW9oENfjfH3nEmzg8y3AmKmzs8Sg6pLCeOCA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz", + "integrity": "sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==", "dev": true, "requires": { "@octokit/auth-token": "^3.0.0", "@octokit/graphql": "^5.0.0", "@octokit/request": "^6.0.0", "@octokit/request-error": "^3.0.0", - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "before-after-hook": "^2.2.0", "universal-user-agent": "^6.0.0" } }, "@octokit/endpoint": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.2.tgz", - "integrity": "sha512-8/AUACfE9vpRpehE6ZLfEtzkibe5nfsSwFZVMsG8qabqRt1M81qZYUFRZa1B8w8lP6cdfDJfRq9HWS+MbmR7tw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz", + "integrity": "sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==", "dev": true, "requires": { - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "is-plain-object": "^5.0.0", "universal-user-agent": "^6.0.0" } }, "@octokit/graphql": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.1.tgz", - "integrity": "sha512-sxmnewSwAixkP1TrLdE6yRG53eEhHhDTYUykUwdV9x8f91WcbhunIHk9x1PZLALdBZKRPUO2HRcm4kezZ79HoA==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz", + "integrity": "sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==", "dev": true, "requires": { "@octokit/request": "^6.0.0", - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "universal-user-agent": "^6.0.0" } }, "@octokit/openapi-types": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-13.12.0.tgz", - "integrity": "sha512-1QYzZrwnn3rTQE7ZoSxXrO8lhu0aIbac1c+qIPOPEaVXBWSaUyLV1x9yt4uDQOwmu6u5ywVS8OJgs+ErDLf6vQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", "dev": true }, "@octokit/plugin-paginate-rest": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-4.3.1.tgz", - "integrity": "sha512-h8KKxESmSFTcXX409CAxlaOYscEDvN2KGQRsLCGT1NSqRW+D6EXLVQ8vuHhFznS9MuH9QYw1GfsUN30bg8hjVA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz", + "integrity": "sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==", "dev": true, "requires": { - "@octokit/types": "^7.5.0" + "@octokit/types": "^8.0.0" } }, "@octokit/plugin-request-log": { @@ -8739,59 +8866,70 @@ "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.6.2.tgz", - "integrity": "sha512-n9dL5KMpz9qVFSNdcVWC8ZPbl68QbTk7+CMPXCXqaMZOLn1n1YuoSFFCy84Ge0fx333fUqpnBHv8BFjwGtUQkA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz", + "integrity": "sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==", "dev": true, "requires": { - "@octokit/types": "^7.5.0", + "@octokit/types": "^8.0.0", "deprecation": "^2.3.1" } }, "@octokit/request": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.1.tgz", - "integrity": "sha512-gYKRCia3cpajRzDSU+3pt1q2OcuC6PK8PmFIyxZDWCzRXRSIBH8jXjFJ8ZceoygBIm0KsEUg4x1+XcYBz7dHPQ==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz", + "integrity": "sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==", "dev": true, "requires": { "@octokit/endpoint": "^7.0.0", "@octokit/request-error": "^3.0.0", - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.7", "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + } } }, "@octokit/request-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.1.tgz", - "integrity": "sha512-ym4Bp0HTP7F3VFssV88WD1ZyCIRoE8H35pXSKwLeMizcdZAYc/t6N9X9Yr9n6t3aG9IH75XDnZ6UeZph0vHMWQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz", + "integrity": "sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==", "dev": true, "requires": { - "@octokit/types": "^7.0.0", + "@octokit/types": "^8.0.0", "deprecation": "^2.0.0", "once": "^1.4.0" } }, "@octokit/rest": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.4.tgz", - "integrity": "sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA==", + "version": "19.0.5", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz", + "integrity": "sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==", "dev": true, "requires": { - "@octokit/core": "^4.0.0", - "@octokit/plugin-paginate-rest": "^4.0.0", + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^5.0.0", "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^6.0.0" + "@octokit/plugin-rest-endpoint-methods": "^6.7.0" } }, "@octokit/types": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-7.5.0.tgz", - "integrity": "sha512-aHm+olfIZjQpzoODpl+RCZzchKOrdSLJs+yfI7pMMcmB19Li6vidgx0DwUDO/Ic4Q3fq/lOjJORVCcLZefcrJw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz", + "integrity": "sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==", "dev": true, "requires": { - "@octokit/openapi-types": "^13.11.0" + "@octokit/openapi-types": "^14.0.0" } }, "@types/chai": { @@ -8806,6 +8944,12 @@ "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", "dev": true }, + "@types/fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-g39Vp8ZJ3D0gXhhkhDidVvdy4QajkF7/PV6HGn23FMaMqE/tLC1JNHUeQ7SshKLsBjucakZsXBLkWULbGLdL5g==", + "dev": true + }, "@types/fs-extra": { "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", @@ -8933,9 +9077,9 @@ } }, "@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.0.tgz", + "integrity": "sha512-rADY+HtTOA52l9VZWtgQfn4p+UDVM2eDVkMZT1I6syp0YKxW2F9v+0pbRZLsvskhQv/vMb6ZfCay81GHbz5SHg==", "dev": true }, "@types/ms": { @@ -8945,20 +9089,16 @@ "dev": true }, "@types/node": { - "version": "18.7.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", - "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "version": "18.11.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.8.tgz", + "integrity": "sha512-uGwPWlE0Hj972KkHtCDVwZ8O39GmyjfMane1Z3GUBGGnkZ2USDq7SxLpVIiIHpweY9DS0QTDH0Nw7RNBsAAZ5A==", "dev": true }, - "@types/node-fetch": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz", - "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==", - "dev": true, - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true }, "@types/source-map-support": { "version": "0.5.6", @@ -9007,6 +9147,12 @@ "@types/vinyl": "*" } }, + "@types/which": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/which/-/which-2.0.1.tgz", + "integrity": "sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==", + "dev": true + }, "@types/xml2js": { "version": "0.4.11", "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.11.tgz", @@ -9017,14 +9163,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", - "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz", + "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/type-utils": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/type-utils": "5.41.0", + "@typescript-eslint/utils": "5.41.0", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -9033,53 +9179,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", - "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz", + "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", - "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz", + "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1" + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0" } }, "@typescript-eslint/type-utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", - "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz", + "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.38.1", - "@typescript-eslint/utils": "5.38.1", + "@typescript-eslint/typescript-estree": "5.41.0", + "@typescript-eslint/utils": "5.41.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", - "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz", + "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", - "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz", + "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/visitor-keys": "5.38.1", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/visitor-keys": "5.41.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -9088,39 +9234,35 @@ } }, "@typescript-eslint/utils": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", - "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz", + "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.1", - "@typescript-eslint/types": "5.38.1", - "@typescript-eslint/typescript-estree": "5.38.1", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.41.0", + "@typescript-eslint/types": "5.41.0", + "@typescript-eslint/typescript-estree": "5.41.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", - "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", + "version": "5.41.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz", + "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/types": "5.41.0", "eslint-visitor-keys": "^3.3.0" } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true }, "acorn-jsx": { @@ -9422,12 +9564,6 @@ "async-done": "^1.2.2" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -9500,9 +9636,9 @@ } }, "before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, "binary-extensions": { @@ -9547,9 +9683,9 @@ "dev": true }, "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true }, "buffer-from": { @@ -9835,15 +9971,6 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "comment-parser": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", @@ -9884,13 +10011,10 @@ } }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "copy-descriptor": { "version": "0.1.1", @@ -9946,6 +10070,12 @@ "type": "^1.0.1" } }, + "data-uri-to-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", + "dev": true + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -10063,12 +10193,6 @@ "slash": "^3.0.0" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, "deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", @@ -10169,9 +10293,9 @@ } }, "es-abstract": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", - "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -10184,7 +10308,7 @@ "has-property-descriptors": "^1.0.0", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "is-callable": "^1.2.6", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", @@ -10285,15 +10409,15 @@ "dev": true }, "eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", - "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz", + "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.5", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -10309,14 +10433,14 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "glob-parent": "^6.0.1", + "glob-parent": "^6.0.2", "globals": "^13.15.0", - "globby": "^11.1.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -10457,17 +10581,17 @@ } }, "eslint-plugin-jsdoc": { - "version": "39.3.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.6.tgz", - "integrity": "sha512-R6dZ4t83qPdMhIOGr7g2QII2pwCjYyKP+z0tPOfO1bbAbQyKC20Y2Rd6z1te86Lq3T7uM8bNo+VD9YFpE8HU/g==", + "version": "39.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.4.0.tgz", + "integrity": "sha512-2FXAmh8lpO22aqZgu6NLB6berVnYgwbZx95BmjIIQjbRNwLIAwY0dtvSJDUZVW5nflv58c1gSWQjIJ8yLZ/+fw==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.31.0", + "@es-joy/jsdoccomment": "~0.33.4", "comment-parser": "1.3.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.4.0", - "semver": "^7.3.7", + "semver": "^7.3.8", "spdx-expression-parse": "^3.0.1" } }, @@ -10797,6 +10921,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-fifo": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.1.0.tgz", + "integrity": "sha512-Kl29QoNbNvn4nhDsLYjyIAaIqaJB6rBx5p3sL9VjaefJ+eMFBWVZiaoguaoZfzEKr5RhAti0UgM8703akGPJ6g==", + "dev": true + }, "fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -10831,6 +10961,16 @@ "reusify": "^1.0.4" } }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -11094,15 +11234,13 @@ "for-in": "^1.0.1" } }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "fetch-blob": "^3.1.2" } }, "fragment-cache": { @@ -11699,6 +11837,28 @@ "concat-with-sourcemaps": "^1.0.0", "through2": "^2.0.0", "vinyl": "^2.0.0" + }, + "dependencies": { + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } } }, "gulp-insert": { @@ -12077,9 +12237,9 @@ "dev": true }, "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "requires": { "has": "^1.0.3" @@ -12338,9 +12498,9 @@ "dev": true }, "js-sdsl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz", - "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", "dev": true }, "js-yaml": { @@ -12793,21 +12953,6 @@ "picomatch": "^2.3.1" } }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -12818,9 +12963,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true }, "mixin-deep": { @@ -12840,12 +12985,11 @@ "dev": true }, "mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", "dev": true, "requires": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -13022,9 +13166,9 @@ "dev": true }, "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, @@ -13089,13 +13233,21 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "dev": true + }, "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.10.tgz", + "integrity": "sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==", "dev": true, "requires": { - "whatwg-url": "^5.0.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" } }, "normalize-package-data": { @@ -13601,6 +13753,12 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -13777,9 +13935,9 @@ "dev": true }, "replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true }, "replace-homedir": { @@ -13926,9 +14084,9 @@ "dev": true }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -14413,6 +14571,16 @@ } } }, + "streamx": { + "version": "2.12.5", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.12.5.tgz", + "integrity": "sha512-Y+nkFw57Z5JHT3zLlqFm3GccOy2FeYdUrrqita6Dd8kr/8enPn9GKa8IYf3/DmEKfZl/E2sWoSKUnd4qhonrgg==", + "dev": true, + "requires": { + "fast-fifo": "^1.0.0", + "queue-tick": "^1.0.0" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -14524,6 +14692,15 @@ "es6-symbol": "^3.1.1" } }, + "teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "dev": true, + "requires": { + "streamx": "^2.12.5" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -14722,9 +14899,9 @@ "dev": true }, "typescript": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", - "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true }, "unbox-primitive": { @@ -14930,17 +15107,16 @@ "dev": true }, "vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", + "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dev": true, "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", + "clone": "^2.1.2", "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" } }, "vinyl-fs": { @@ -14966,6 +15142,28 @@ "value-or-function": "^3.0.0", "vinyl": "^2.0.0", "vinyl-sourcemap": "^1.1.0" + }, + "dependencies": { + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } } }, "vinyl-sourcemap": { @@ -14991,9 +15189,35 @@ "requires": { "remove-trailing-separator": "^1.0.1" } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } } } }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "dev": true + }, "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", diff --git a/package.json b/package.json index 1424487c9a2e7..384d29f05ce19 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "devDependencies": { "@octokit/rest": "latest", "@types/chai": "latest", + "@types/fancy-log": "^2.0.0", "@types/fs-extra": "^9.0.13", "@types/glob": "latest", "@types/gulp": "^4.0.9", @@ -55,8 +56,8 @@ "@types/mocha": "latest", "@types/ms": "latest", "@types/node": "latest", - "@types/node-fetch": "^2.6.2", "@types/source-map-support": "latest", + "@types/which": "^2.0.1", "@types/xml2js": "^0.4.11", "@typescript-eslint/eslint-plugin": "^5.33.1", "@typescript-eslint/parser": "^5.33.1", @@ -87,9 +88,9 @@ "mocha": "latest", "mocha-fivemat-progress-reporter": "latest", "ms": "^2.1.3", - "node-fetch": "^2.6.7", + "node-fetch": "^3.2.10", "source-map-support": "latest", - "typescript": "^4.8.3", + "typescript": "^4.8.4", "vinyl": "latest", "which": "^2.0.2", "xml2js": "^0.4.23" @@ -107,7 +108,7 @@ "clean": "gulp clean", "gulp": "gulp", "lint": "gulp lint", - "setup-hooks": "node scripts/link-hooks.js" + "setup-hooks": "node scripts/link-hooks.mjs" }, "browser": { "fs": false, diff --git a/scripts/VSDevMode.ps1 b/scripts/VSDevMode.ps1 deleted file mode 100644 index 47694286edcc1..0000000000000 --- a/scripts/VSDevMode.ps1 +++ /dev/null @@ -1,75 +0,0 @@ -<# -.SYNOPSIS -Run this PowerShell script to enable dev mode and/or a custom script for the TypeScript language service, e.g. - -PS C:\> .\scripts\VSDevMode.ps1 -enableDevMode -tsScript C:\src\TypeScript\built\local\ - -Note: If you get security errors, try running powershell as an Administrator and with the "-executionPolicy remoteSigned" switch - -.PARAMETER vsVersion -Set to "12" for Dev12 (VS2013) or "14" (the default) for Dev14 (VS2015) - -.PARAMETER enableDevMode -Pass this switch to enable attaching a debugger to the language service - -.PARAMETER tsScript -The path to a directory containing a custom language service script to use (typescriptServices.js), e.g. "C:\src\TypeScript\built\local\" -#> -Param( - [int]$vsVersion = 14, - [switch]$enableDevMode, - [string]$tsScript -) - -$vsRegKey = "HKCU:\Software\Microsoft\VisualStudio\${vsVersion}.0" -$tsRegKey = "${vsRegKey}\TypeScriptLanguageService" - -if($enableDevMode -ne $true -and $tsScript -eq ""){ - Throw "You must either enable language service debugging (-enableDevMode), set a custom script (-tsScript), or both" -} - -if(!(Test-Path $vsRegKey)){ - Throw "Visual Studio ${vsVersion} is not installed" -} -if(!(Test-Path $tsRegKey)){ - # Create the TypeScript subkey if it doesn't exist - New-Item -path $tsRegKey -} - -if($tsScript -ne ""){ - $tsScriptServices = "${tsScript}\typescriptServices.js" - $tsScriptlib = "${tsScript}\lib.d.ts" - $tsES6Scriptlib = "${tsScript}\lib.es6.d.ts" - - if(!(Test-Path $tsScriptServices)){ - Throw "Could not locate the TypeScript language service script at ${tsScriptServices}" - } - else { - $path = resolve-path ${tsScriptServices} - Set-ItemProperty -path $tsRegKey -name CustomTypeScriptServicesFileLocation -value "${path}" - Write-Host "Enabled custom TypeScript language service at ${path} for Dev${vsVersion}" - } - - if(!(Test-Path $tsScriptlib)){ - Throw "Could not locate the TypeScript default library at ${tsScriptlib}" - } - else { - $path = resolve-path ${tsScriptlib} - Set-ItemProperty -path $tsRegKey -name CustomDefaultLibraryLocation -value "${path}" - Write-Host "Enabled custom TypeScript default library at ${path} for Dev${vsVersion}" - } - - if(!(Test-Path $tsES6Scriptlib)){ - Throw "Could not locate the TypeScript default ES6 library at ${tsES6Scriptlib}" - } - else { - $path = resolve-path ${tsES6Scriptlib} - Set-ItemProperty -path $tsRegKey -name CustomDefaultES6LibraryLocation -value "${path}" - Write-Host "Enabled custom TypeScript default ES6 library at ${path} for Dev${vsVersion}" - } -} - -if($enableDevMode){ - Set-ItemProperty -path $tsRegKey -name EnableDevMode -value 1 - Write-Host "Enabled developer mode for Dev${vsVersion}" -} diff --git a/scripts/browserIntegrationTest.js b/scripts/browserIntegrationTest.mjs similarity index 64% rename from scripts/browserIntegrationTest.js rename to scripts/browserIntegrationTest.mjs index 622af7cb43da0..6e96bd45897ff 100644 --- a/scripts/browserIntegrationTest.js +++ b/scripts/browserIntegrationTest.mjs @@ -1,34 +1,36 @@ -// @ts-check -const chalk = require("chalk"); -const { join } = require("path"); -const { readFileSync } = require("fs"); +import chalk from "chalk"; +import { join } from "path"; +import { readFileSync } from "fs"; + +let playwright; try { - // eslint-disable-next-line import/no-extraneous-dependencies - require("playwright"); + // @ts-ignore-error + playwright = await import("playwright"); } catch (error) { throw new Error("Playwright is expected to be installed manually before running this script"); } -// eslint-disable-next-line import/no-extraneous-dependencies -const playwright = require("playwright"); - // Turning this on will leave the Chromium browser open, giving you the // chance to open up the web inspector. const debugging = false; -(async () => { - for (const browserType of ["chromium", "firefox"]) { +/** @type {["chromium", "firefox"]} */ +const browsers = ["chromium", "firefox"]; + +for (const browserType of browsers) { const browser = await playwright[browserType].launch({ headless: !debugging }); const context = await browser.newContext(); const page = await context.newPage(); + /** @type {(err: Error) => void} */ const errorCaught = err => { console.error(chalk.red("There was an error running built/typescript.js in " + browserType)); console.log(err.toString()); process.exitCode = 1; }; + // @ts-ignore-error page.on("error", errorCaught); page.on("pageerror", errorCaught); @@ -45,13 +47,4 @@ const debugging = false; console.log("Not closing the browser, you'll need to exit the process in your terminal manually"); } console.log(`${browserType} :+1:`); - } -})(); - -process.on("unhandledRejection", (/** @type {any}*/ err) => { - if (err) { - console.error(err.stack || err.message); - } - process.exit(1); -}); - +} diff --git a/scripts/build/findUpDir.js b/scripts/build/findUpDir.js deleted file mode 100644 index fab301c6dcdad..0000000000000 --- a/scripts/build/findUpDir.js +++ /dev/null @@ -1,21 +0,0 @@ -const { join, resolve, dirname } = require("path"); -const { existsSync } = require("fs"); - -// search directories upward to avoid hard-wired paths based on the -// build tree (same as src/harness/findUpDir.ts) - -function findUpFile(name) { - let dir = __dirname; - while (true) { - const fullPath = join(dir, name); - if (existsSync(fullPath)) return fullPath; - const up = resolve(dir, ".."); - if (up === dir) return name; // it'll fail anyway - dir = up; - } -} -exports.findUpFile = findUpFile; - -const findUpRoot = () => - findUpRoot.cached || (findUpRoot.cached = dirname(findUpFile("Gulpfile.js"))); -exports.findUpRoot = findUpRoot; diff --git a/scripts/build/findUpDir.mjs b/scripts/build/findUpDir.mjs new file mode 100644 index 0000000000000..5a03844b7a4c2 --- /dev/null +++ b/scripts/build/findUpDir.mjs @@ -0,0 +1,29 @@ +import { join, resolve, dirname } from "path"; +import { existsSync } from "fs"; +import url from "url"; + +const __filename = url.fileURLToPath(new URL(import.meta.url)); +const __dirname = dirname(__filename); + +// search directories upward to avoid hard-wired paths based on the +// build tree (same as src/harness/findUpDir.ts) + +/** + * @param {string} name + * @returns {string} + */ +export function findUpFile(name) { + let dir = __dirname; + while (true) { + const fullPath = join(dir, name); + if (existsSync(fullPath)) return fullPath; + const up = resolve(dir, ".."); + if (up === dir) return name; // it'll fail anyway + dir = up; + } +} + +/** @type {string | undefined} */ +let findUpRootCache; + +export const findUpRoot = () => findUpRootCache || (findUpRootCache = dirname(findUpFile("Gulpfile.mjs"))); diff --git a/scripts/build/options.js b/scripts/build/options.mjs similarity index 82% rename from scripts/build/options.js rename to scripts/build/options.mjs index fc237c5885584..78240aa9aecca 100644 --- a/scripts/build/options.js +++ b/scripts/build/options.mjs @@ -1,11 +1,9 @@ -// @ts-check -const minimist = require("minimist"); -const os = require("os"); +import minimist from "minimist"; +import os from "os"; -const ci = ["1", "true"].includes(process.env.CI); +const ci = ["1", "true"].includes(process.env.CI ?? ""); -/** @type {CommandLineOptions} */ -module.exports = minimist(process.argv.slice(2), { +const parsed = minimist(process.argv.slice(2), { boolean: ["dirty", "light", "colors", "lkg", "soft", "fix", "failed", "keepFailed", "force", "built", "ci"], string: ["browser", "tests", "break", "host", "reporter", "stackTraceLimit", "timeout", "shards", "shardId"], alias: { @@ -44,12 +42,19 @@ module.exports = minimist(process.argv.slice(2), { } }); -if (module.exports.built) { - module.exports.lkg = false; +/** @type {CommandLineOptions} */ +const options = /** @type {any} */ (parsed); + +if (options.built) { + options.lkg = false; } +export default options; + + + /** - * @typedef TypedOptions + * @typedef CommandLineOptions * @property {boolean} dirty * @property {boolean} light * @property {boolean} colors @@ -59,6 +64,7 @@ if (module.exports.built) { * @property {boolean} fix * @property {string} browser * @property {string} tests + * @property {string | boolean} break * @property {string | boolean} inspect * @property {string} runners * @property {string|number} workers @@ -69,7 +75,7 @@ if (module.exports.built) { * @property {boolean} failed * @property {boolean} keepFailed * @property {boolean} ci - * - * @typedef {import("minimist").ParsedArgs & TypedOptions} CommandLineOptions + * @property {string} shards + * @property {string} shardId */ void 0; diff --git a/scripts/build/prepend.js b/scripts/build/prepend.mjs similarity index 78% rename from scripts/build/prepend.js rename to scripts/build/prepend.mjs index d7571efdaabdb..115cd3b3d599c 100644 --- a/scripts/build/prepend.js +++ b/scripts/build/prepend.mjs @@ -1,18 +1,17 @@ -// @ts-check -const stream = require("stream"); -const ts = require("../../lib/typescript"); -const fs = require("fs"); -const { base64VLQFormatEncode } = require("./sourcemaps"); +import stream from "stream"; +import ts from "../../lib/typescript.js"; +import fs from "fs"; +import { base64VLQFormatEncode } from "./sourcemaps.mjs"; /** * @param {string | ((file: import("vinyl")) => string)} data */ -function prepend(data) { +export function prepend(data) { return new stream.Transform({ objectMode: true, /** * @param {string | Buffer | import("vinyl")} input - * @param {(error: Error, data?: any) => void} cb + * @param {(error: Error | null, data?: any) => void} cb */ transform(input, _, cb) { if (typeof input === "string" || Buffer.isBuffer(input)) return cb(new Error("Only Vinyl files are supported.")); @@ -22,7 +21,7 @@ function prepend(data) { const prependContent = typeof data === "function" ? data(input) : data; output.contents = Buffer.concat([Buffer.from(prependContent, "utf8"), input.contents]); if (input.sourceMap) { - if (typeof input.sourceMap === "string") input.sourceMap = /**@type {import("./sourcemaps").RawSourceMap}*/(JSON.parse(input.sourceMap)); + if (typeof input.sourceMap === "string") input.sourceMap = /**@type {import("./sourcemaps.mjs").RawSourceMap}*/(JSON.parse(input.sourceMap)); const lineStarts = /**@type {*}*/(ts).computeLineStarts(prependContent); let prependMappings = ""; for (let i = 1; i < lineStarts.length; i++) { @@ -46,19 +45,17 @@ function prepend(data) { return cb(null, output); } catch (e) { - return cb(e); + return cb(/** @type {Error} */(e)); } } }); } -exports.prepend = prepend; /** * @param {string | ((file: import("vinyl")) => string)} file */ -function prependFile(file) { +export function prependFile(file) { const data = typeof file === "string" ? fs.readFileSync(file, "utf8") : - vinyl => fs.readFileSync(file(vinyl), "utf8"); + (/** @type {import("vinyl")} */ vinyl) => fs.readFileSync(file(vinyl), "utf8"); return prepend(data); } -exports.prependFile = prependFile; diff --git a/scripts/build/projects.js b/scripts/build/projects.mjs similarity index 76% rename from scripts/build/projects.js rename to scripts/build/projects.mjs index 7346607d3bfb8..1061f5521b2b5 100644 --- a/scripts/build/projects.js +++ b/scripts/build/projects.mjs @@ -1,7 +1,7 @@ -// @ts-check -const { exec, Debouncer } = require("./utils"); -const { resolve } = require("path"); -const { findUpRoot } = require("./findUpDir"); +import { exec, Debouncer } from "./utils.mjs"; +import { resolve } from "path"; +import { findUpRoot } from "./findUpDir.mjs"; +import assert from "assert"; class ProjectQueue { /** @@ -15,12 +15,13 @@ class ProjectQueue { /** * @param {string} project - * @param {object} options + * @param {{ lkg?: boolean; force?: boolean; }} options */ enqueue(project, { lkg = true, force = false } = {}) { let entry = this._debouncers.find(entry => entry.lkg === lkg && entry.force === force); if (!entry) { const debouncer = new Debouncer(100, async () => { + assert(entry); const projects = entry.projects; if (projects) { entry.projects = undefined; @@ -49,14 +50,14 @@ const projectBuilder = new ProjectQueue((projects, lkg, force) => execTsc(lkg, . * @param {boolean} [options.lkg=true] * @param {boolean} [options.force=false] */ -exports.buildProject = (project, { lkg, force } = {}) => projectBuilder.enqueue(project, { lkg, force }); +export const buildProject = (project, { lkg, force } = {}) => projectBuilder.enqueue(project, { lkg, force }); const projectCleaner = new ProjectQueue((projects, lkg) => execTsc(lkg, "--clean", ...projects)); /** * @param {string} project */ -exports.cleanProject = (project) => projectCleaner.enqueue(project); + export const cleanProject = (project) => projectCleaner.enqueue(project); const projectWatcher = new ProjectQueue((projects) => execTsc(/*lkg*/ true, "--watch", ...projects)); @@ -65,4 +66,4 @@ const projectWatcher = new ProjectQueue((projects) => execTsc(/*lkg*/ true, "--w * @param {object} options * @param {boolean} [options.lkg=true] */ -exports.watchProject = (project, { lkg } = {}) => projectWatcher.enqueue(project, { lkg }); +export const watchProject = (project, { lkg } = {}) => projectWatcher.enqueue(project, { lkg }); diff --git a/scripts/build/sourcemaps.js b/scripts/build/sourcemaps.mjs similarity index 87% rename from scripts/build/sourcemaps.js rename to scripts/build/sourcemaps.mjs index e572bf9cb4979..6fd152c258c3f 100644 --- a/scripts/build/sourcemaps.js +++ b/scripts/build/sourcemaps.mjs @@ -1,4 +1,3 @@ -// @ts-check /** * @param {string} message * @returns {never} @@ -23,7 +22,7 @@ function base64FormatEncode(value) { /** * @param {number} value */ -function base64VLQFormatEncode(value) { +export function base64VLQFormatEncode(value) { if (value < 0) { value = ((-value) << 1) + 1; } @@ -45,6 +44,5 @@ function base64VLQFormatEncode(value) { return result; } -exports.base64VLQFormatEncode = base64VLQFormatEncode; /** @typedef {object} RawSourceMap */ diff --git a/scripts/build/tests.js b/scripts/build/tests.mjs similarity index 77% rename from scripts/build/tests.js rename to scripts/build/tests.mjs index 4dd76c1f62e69..dce50403c0d9c 100644 --- a/scripts/build/tests.js +++ b/scripts/build/tests.mjs @@ -1,28 +1,27 @@ -// @ts-check -const del = require("del"); -const fs = require("fs"); -const os = require("os"); -const path = require("path"); -const mkdirP = require("mkdirp"); -const log = require("fancy-log"); -const cmdLineOptions = require("./options"); -const { exec } = require("./utils"); -const { findUpFile } = require("./findUpDir"); - -const mochaJs = require.resolve("mocha/bin/_mocha"); -exports.localBaseline = "tests/baselines/local/"; -exports.refBaseline = "tests/baselines/reference/"; -exports.localRwcBaseline = "internal/baselines/rwc/local"; -exports.refRwcBaseline = "internal/baselines/rwc/reference"; -exports.localTest262Baseline = "internal/baselines/test262/local"; +import del from "del"; +import fs from "fs"; +import os from "os"; +import path from "path"; +import mkdirP from "mkdirp"; +import log from "fancy-log"; +import cmdLineOptions from "./options.mjs"; +import { exec } from "./utils.mjs"; +import { findUpFile, findUpRoot } from "./findUpDir.mjs"; + +const mochaJs = path.resolve(findUpRoot(), "node_modules", "mocha", "bin", "_mocha"); +export const localBaseline = "tests/baselines/local/"; +export const refBaseline = "tests/baselines/reference/"; +export const localRwcBaseline = "internal/baselines/rwc/local"; +export const refRwcBaseline = "internal/baselines/rwc/reference"; +export const localTest262Baseline = "internal/baselines/test262/local"; /** * @param {string} runJs * @param {string} defaultReporter * @param {boolean} runInParallel - * @param {boolean} watchMode + * @param {boolean} _watchMode */ -async function runConsoleTests(runJs, defaultReporter, runInParallel, watchMode) { +export async function runConsoleTests(runJs, defaultReporter, runInParallel, _watchMode) { let testTimeout = cmdLineOptions.timeout; const tests = cmdLineOptions.tests; const inspect = cmdLineOptions.break || cmdLineOptions.inspect; @@ -74,7 +73,7 @@ async function runConsoleTests(runJs, defaultReporter, runInParallel, watchMode) // default timeout is 2sec which really should be enough, but maybe we just need a small amount longer if (!runInParallel) { args.push(mochaJs); - args.push("-R", findUpFile("scripts/failed-tests.js")); + args.push("-R", findUpFile("scripts/failed-tests.cjs")); args.push("-O", '"reporter=' + reporter + (keepFailed ? ",keepFailed=true" : "") + '"'); if (tests) { args.push("-g", `"${tests}"`); @@ -123,7 +122,7 @@ async function runConsoleTests(runJs, defaultReporter, runInParallel, watchMode) errorStatus = exitCode; error = new Error(`Process exited with status code ${errorStatus}.`); } - else if (cmdLineOptions.ci) { + else if (cmdLineOptions.ci && runJs.startsWith("built")) { // finally, do a sanity check and build the compiler with the built version of itself log.info("Starting sanity check build..."); // Cleanup everything except lint rules (we'll need those later and would rather not waste time rebuilding them) @@ -137,7 +136,7 @@ async function runConsoleTests(runJs, defaultReporter, runInParallel, watchMode) } catch (e) { errorStatus = undefined; - error = e; + error = /** @type {Error} */ (e); } finally { restoreSavedNodeEnv(); @@ -151,14 +150,12 @@ async function runConsoleTests(runJs, defaultReporter, runInParallel, watchMode) throw error; } } -exports.runConsoleTests = runConsoleTests; -async function cleanTestDirs() { - await del([exports.localBaseline, exports.localRwcBaseline]); - mkdirP.sync(exports.localRwcBaseline); - mkdirP.sync(exports.localBaseline); +export async function cleanTestDirs() { + await del([localBaseline, localRwcBaseline]); + mkdirP.sync(localRwcBaseline); + mkdirP.sync(localBaseline); } -exports.cleanTestDirs = cleanTestDirs; /** * used to pass data from gulp command line directly to run.js @@ -173,7 +170,7 @@ exports.cleanTestDirs = cleanTestDirs; * @param {number | undefined} [shards] * @param {number | undefined} [shardId] */ -function writeTestConfigFile(tests, runners, light, taskConfigsFolder, workerCount, stackTraceLimit, timeout, keepFailed, shards, shardId) { +export function writeTestConfigFile(tests, runners, light, taskConfigsFolder, workerCount, stackTraceLimit, timeout, keepFailed, shards, shardId) { const testConfigContents = JSON.stringify({ test: tests ? [tests] : undefined, runners: runners ? runners.split(",") : undefined, @@ -190,9 +187,8 @@ function writeTestConfigFile(tests, runners, light, taskConfigsFolder, workerCou log.info("Running tests with config: " + testConfigContents); fs.writeFileSync("test.config", testConfigContents); } -exports.writeTestConfigFile = writeTestConfigFile; -/** @type {string} */ +/** @type {string | undefined} */ let savedNodeEnv; function setNodeEnvToDevelopment() { savedNodeEnv = process.env.NODE_ENV; @@ -204,9 +200,12 @@ function restoreSavedNodeEnv() { } function deleteTemporaryProjectOutput() { - return del(path.join(exports.localBaseline, "projectOutput/")); + return del(path.join(localBaseline, "projectOutput/")); } +/** + * @param {string} text + */ function regExpEscape(text) { return text.replace(/[.*+?^${}()|\[\]\\]/g, "\\$&"); } diff --git a/scripts/build/utils.js b/scripts/build/utils.mjs similarity index 59% rename from scripts/build/utils.js rename to scripts/build/utils.mjs index 0e38a0b73d6cf..59075df3a41c4 100644 --- a/scripts/build/utils.js +++ b/scripts/build/utils.mjs @@ -1,20 +1,18 @@ -// @ts-check - /* eslint-disable no-restricted-globals */ // eslint-disable-next-line @typescript-eslint/triple-slash-reference /// -const fs = require("fs"); -const path = require("path"); -const log = require("fancy-log"); -const mkdirp = require("mkdirp"); -const del = require("del"); -const File = require("vinyl"); -const ts = require("../../lib/typescript"); -const chalk = require("chalk"); -const which = require("which"); -const { spawn } = require("child_process"); -const { Readable, Duplex } = require("stream"); +import fs from "fs"; +import path from "path"; +import log from "fancy-log"; +import del from "del"; +import File from "vinyl"; +import ts from "../../lib/typescript.js"; +import chalk from "chalk"; +import which from "which"; +import { spawn } from "child_process"; +import { Duplex } from "stream"; +import assert from "assert"; /** * Executes the provided command once with the supplied arguments. @@ -27,8 +25,8 @@ const { Readable, Duplex } = require("stream"); * @property {boolean} [hidePrompt] * @property {boolean} [waitForExit=true] */ -async function exec(cmd, args, options = {}) { - return /**@type {Promise<{exitCode: number}>}*/(new Promise((resolve, reject) => { +export async function exec(cmd, args, options = {}) { + return /**@type {Promise<{exitCode?: number}>}*/(new Promise((resolve, reject) => { const { ignoreExitCode, waitForExit = true } = options; if (!options.hidePrompt) log(`> ${chalk.green(cmd)} ${args.join(" ")}`); @@ -36,7 +34,7 @@ async function exec(cmd, args, options = {}) { if (waitForExit) { proc.on("exit", exitCode => { if (exitCode === 0 || ignoreExitCode) { - resolve({ exitCode }); + resolve({ exitCode: exitCode ?? undefined }); } else { reject(new Error(`Process exited with code: ${exitCode}`)); @@ -53,7 +51,6 @@ async function exec(cmd, args, options = {}) { } })); } -exports.exec = exec; /** * @param {ts.Diagnostic[]} diagnostics @@ -64,7 +61,6 @@ function formatDiagnostics(diagnostics, options) { ? ts.formatDiagnosticsWithColorAndContext(diagnostics, getFormatDiagnosticsHost(options && options.cwd)) : ts.formatDiagnostics(diagnostics, getFormatDiagnosticsHost(options && options.cwd)); } -exports.formatDiagnostics = formatDiagnostics; /** * @param {ts.Diagnostic[]} diagnostics @@ -73,7 +69,6 @@ exports.formatDiagnostics = formatDiagnostics; function reportDiagnostics(diagnostics, options) { log(formatDiagnostics(diagnostics, { cwd: options && options.cwd, pretty: process.stdout.isTTY })); } -exports.reportDiagnostics = reportDiagnostics; /** * @param {string | undefined} cwd @@ -82,17 +77,16 @@ exports.reportDiagnostics = reportDiagnostics; function getFormatDiagnosticsHost(cwd) { return { getCanonicalFileName: fileName => fileName, - getCurrentDirectory: () => cwd, + getCurrentDirectory: () => cwd ?? process.cwd(), getNewLine: () => ts.sys.newLine, }; } -exports.getFormatDiagnosticsHost = getFormatDiagnosticsHost; /** * Reads JSON data with optional comments using the LKG TypeScript compiler * @param {string} jsonPath */ -function readJson(jsonPath) { +export function readJson(jsonPath) { const jsonText = fs.readFileSync(jsonPath, "utf8"); const result = ts.parseConfigFileTextToJson(jsonPath, jsonText); if (result.error) { @@ -101,38 +95,13 @@ function readJson(jsonPath) { } return result.config; } -exports.readJson = readJson; - -/** - * @param {File} file - */ -function streamFromFile(file) { - return file.isBuffer() ? streamFromBuffer(file.contents) : - file.isStream() ? file.contents : - fs.createReadStream(file.path, { autoClose: true }); -} -exports.streamFromFile = streamFromFile; - -/** - * @param {Buffer} buffer - */ -function streamFromBuffer(buffer) { - return new Readable({ - read() { - this.push(buffer); - // eslint-disable-next-line no-null/no-null - this.push(null); - } - }); -} -exports.streamFromBuffer = streamFromBuffer; /** * @param {string | string[]} source * @param {string | string[]} dest * @returns {boolean} */ -function needsUpdate(source, dest) { +export function needsUpdate(source, dest) { if (typeof source === "string" && typeof dest === "string") { if (fs.existsSync(dest)) { const {mtime: outTime} = fs.statSync(dest); @@ -194,9 +163,8 @@ function needsUpdate(source, dest) { } return true; } -exports.needsUpdate = needsUpdate; -function getDiffTool() { +export function getDiffTool() { const program = process.env.DIFF; if (!program) { log.warn("Add the 'DIFF' environment variable to the path of the program you want to use."); @@ -204,7 +172,6 @@ function getDiffTool() { } return program; } -exports.getDiffTool = getDiffTool; /** * Find the size of a directory recursively. @@ -212,7 +179,7 @@ exports.getDiffTool = getDiffTool; * @param {string} root * @returns {number} bytes */ -function getDirSize(root) { +export function getDirSize(root) { const stats = fs.lstatSync(root); if (!stats.isDirectory()) { @@ -223,97 +190,12 @@ function getDirSize(root) { .map(file => getDirSize(path.join(root, file))) .reduce((acc, num) => acc + num, 0); } -exports.getDirSize = getDirSize; - -/** - * Flattens a project with project references into a single project. - * @param {string} projectSpec The path to a tsconfig.json file or its containing directory. - * @param {string} flattenedProjectSpec The output path for the flattened tsconfig.json file. - * @param {FlattenOptions} [options] Options used to flatten a project hierarchy. - * - * @typedef FlattenOptions - * @property {string} [cwd] The path to use for the current working directory. Defaults to `process.cwd()`. - * @property {import("../../lib/typescript").CompilerOptions} [compilerOptions] Compiler option overrides. - * @property {boolean} [force] Forces creation of the output project. - * @property {string[]} [exclude] Files to exclude (relative to `cwd`) - */ -function flatten(projectSpec, flattenedProjectSpec, options = {}) { - const cwd = normalizeSlashes(options.cwd ? path.resolve(options.cwd) : process.cwd()); - const files = []; - const resolvedOutputSpec = path.resolve(cwd, flattenedProjectSpec); - const resolvedOutputDirectory = path.dirname(resolvedOutputSpec); - const resolvedProjectSpec = resolveProjectSpec(projectSpec, cwd, /*referrer*/ undefined); - const project = readJson(resolvedProjectSpec); - const skipProjects = /**@type {Set}*/(new Set()); - const skipFiles = new Set(options && options.exclude && options.exclude.map(file => normalizeSlashes(path.resolve(cwd, file)))); - recur(resolvedProjectSpec, project); - - if (options.force || needsUpdate(files, resolvedOutputSpec)) { - const config = { - extends: normalizeSlashes(path.relative(resolvedOutputDirectory, resolvedProjectSpec)), - compilerOptions: options.compilerOptions || {}, - files: files.map(file => normalizeSlashes(path.relative(resolvedOutputDirectory, file))) - }; - mkdirp.sync(resolvedOutputDirectory); - fs.writeFileSync(resolvedOutputSpec, JSON.stringify(config, undefined, 2), "utf8"); - } - - /** - * @param {string} projectSpec - * @param {object} project - */ - function recur(projectSpec, project) { - if (skipProjects.has(projectSpec)) return; - skipProjects.add(project); - if (project.references) { - for (const ref of project.references) { - const referencedSpec = resolveProjectSpec(ref.path, cwd, projectSpec); - const referencedProject = readJson(referencedSpec); - recur(referencedSpec, referencedProject); - } - } - if (project.include) { - throw new Error("Flattened project may not have an 'include' list."); - } - if (!project.files) { - throw new Error("Flattened project must have an explicit 'files' list."); - } - const projectDirectory = path.dirname(projectSpec); - for (let file of project.files) { - file = normalizeSlashes(path.resolve(projectDirectory, file)); - if (skipFiles.has(file)) continue; - skipFiles.add(file); - files.push(file); - } - } -} -exports.flatten = flatten; - -/** - * @param {string} file - */ -function normalizeSlashes(file) { - return file.replace(/\\/g, "/"); -} - -/** - * @param {string} projectSpec - * @param {string} cwd - * @param {string | undefined} referrer - * @returns {string} - */ -function resolveProjectSpec(projectSpec, cwd, referrer) { - const projectPath = normalizeSlashes(path.resolve(cwd, referrer ? path.dirname(referrer) : "", projectSpec)); - const stats = fs.statSync(projectPath); - if (stats.isFile()) return normalizeSlashes(projectPath); - return normalizeSlashes(path.resolve(cwd, projectPath, "tsconfig.json")); -} /** * @param {string | ((file: File) => string) | { cwd?: string }} [dest] * @param {{ cwd?: string }} [opts] */ -function rm(dest, opts) { +export function rm(dest, opts) { if (dest && typeof dest === "object") { opts = dest; dest = undefined; @@ -328,7 +210,9 @@ function rm(dest, opts) { const processDeleted = () => { if (failed) return; while (pending.length && pending[0].deleted) { - const { file, cb } = pending.shift(); + const fileAndCallback = pending.shift(); + assert(fileAndCallback); + const { file, cb } = fileAndCallback; duplex.push(file); cb(); } @@ -382,7 +266,6 @@ function rm(dest, opts) { }); return duplex; } -exports.rm = rm; class Deferred { constructor() { @@ -393,7 +276,7 @@ class Deferred { } } -class Debouncer { +export class Debouncer { /** * @param {number} timeout * @param {() => Promise} action @@ -424,8 +307,8 @@ class Debouncer { } const deferred = this._deferred; + assert(deferred); this._deferred = undefined; - this._projects = undefined; try { deferred.resolve(this._action()); } @@ -434,4 +317,3 @@ class Debouncer { } } } -exports.Debouncer = Debouncer; diff --git a/scripts/buildProtocol.ts b/scripts/buildProtocol.mjs similarity index 69% rename from scripts/buildProtocol.ts rename to scripts/buildProtocol.mjs index 2cc843d45785b..f7bc00c897b42 100644 --- a/scripts/buildProtocol.ts +++ b/scripts/buildProtocol.mjs @@ -1,25 +1,59 @@ -/// +import ts from "../lib/typescript.js"; +import path from "path"; +import assert from "assert"; -import * as ts from "../lib/typescript"; -import * as path from "path"; - -function endsWith(s: string, suffix: string) { +/** + * + * @param {string} s + * @param {string} suffix + * @returns {boolean} + */ +function endsWith(s, suffix) { return s.lastIndexOf(suffix, s.length - suffix.length) !== -1; } -function isStringEnum(declaration: ts.EnumDeclaration) { - return declaration.members.length && declaration.members.every(m => !!m.initializer && m.initializer.kind === ts.SyntaxKind.StringLiteral); +/** + * @param {ts.EnumDeclaration} declaration + * @returns {boolean} + */ +function isStringEnum(declaration) { + return !!declaration.members.length && declaration.members.every(m => !!m.initializer && m.initializer.kind === ts.SyntaxKind.StringLiteral); } class DeclarationsWalker { - private visitedTypes: ts.Type[] = []; - private text = ""; - private removedTypes: ts.Type[] = []; + /** + * @type {ts.Type[]} + * @private + */ + visitedTypes = []; + /** + * @type {string} + * @private + */ + text = ""; + /** + * @type {ts.Type[]} + * @private + */ + removedTypes = []; - private constructor(private typeChecker: ts.TypeChecker, private protocolFile: ts.SourceFile) { + /** + * @param {ts.TypeChecker} typeChecker + * @param {ts.SourceFile} protocolFile + * @private + */ + constructor(typeChecker, protocolFile) { + this.typeChecker = typeChecker; + this.protocolFile = protocolFile; } - static getExtraDeclarations(typeChecker: ts.TypeChecker, protocolFile: ts.SourceFile): string { + /** + * + * @param {ts.TypeChecker} typeChecker + * @param {ts.SourceFile} protocolFile + * @returns {string} + */ + static getExtraDeclarations(typeChecker, protocolFile) { const walker = new DeclarationsWalker(typeChecker, protocolFile); walker.visitTypeNodes(protocolFile); let text = walker.text @@ -36,7 +70,12 @@ class DeclarationsWalker { return text; } - private processType(type: ts.Type): void { + /** + * @param {ts.Type} type + * @returns {void} + * @private + */ + processType(type) { if (this.visitedTypes.indexOf(type) >= 0) { return; } @@ -47,7 +86,7 @@ class DeclarationsWalker { } if (s.name === "Array" || s.name === "ReadOnlyArray") { // we should process type argument instead - return this.processType((type as any).typeArguments[0]); + return this.processType(/** @type {any} */(type).typeArguments[0]); } else { const declarations = s.getDeclarations(); @@ -57,7 +96,7 @@ class DeclarationsWalker { if (sourceFile === this.protocolFile || /lib(\..+)?\.d.ts/.test(path.basename(sourceFile.fileName))) { return; } - if (decl.kind === ts.SyntaxKind.EnumDeclaration && !isStringEnum(decl as ts.EnumDeclaration)) { + if (ts.isEnumDeclaration(decl) && !isStringEnum(decl)) { this.removedTypes.push(type); return; } @@ -74,7 +113,11 @@ class DeclarationsWalker { } } - private visitTypeNodes(node: ts.Node) { + /** + * @param {ts.Node} node + * @private + */ + visitTypeNodes(node) { if (node.parent) { switch (node.parent.kind) { case ts.SyntaxKind.VariableDeclaration: @@ -84,12 +127,13 @@ class DeclarationsWalker { case ts.SyntaxKind.PropertySignature: case ts.SyntaxKind.Parameter: case ts.SyntaxKind.IndexSignature: - if (((node.parent as ts.VariableDeclaration | ts.MethodDeclaration | ts.PropertyDeclaration | ts.ParameterDeclaration | ts.PropertySignature | ts.MethodSignature | ts.IndexSignatureDeclaration).type) === node) { + const parent = /** @type {ts.VariableDeclaration | ts.MethodDeclaration | ts.PropertyDeclaration | ts.ParameterDeclaration | ts.PropertySignature | ts.MethodSignature | ts.IndexSignatureDeclaration} */ (node.parent); + if (parent.type === node) { this.processTypeOfNode(node); } break; case ts.SyntaxKind.InterfaceDeclaration: - const heritageClauses = (node.parent as ts.InterfaceDeclaration).heritageClauses; + const heritageClauses = /** @type {ts.InterfaceDeclaration} */ (node.parent).heritageClauses; if (heritageClauses) { if (heritageClauses[0].token !== ts.SyntaxKind.ExtendsKeyword) { throw new Error(`Unexpected kind of heritage clause: ${ts.SyntaxKind[heritageClauses[0].kind]}`); @@ -104,9 +148,13 @@ class DeclarationsWalker { ts.forEachChild(node, n => this.visitTypeNodes(n)); } - private processTypeOfNode(node: ts.Node): void { + /** + * @param {ts.Node} node + * @private + */ + processTypeOfNode(node) { if (node.kind === ts.SyntaxKind.UnionType) { - for (const t of (node as ts.UnionTypeNode).types) { + for (const t of /** @type {ts.UnionTypeNode} */ (node).types) { this.processTypeOfNode(t); } } @@ -119,8 +167,14 @@ class DeclarationsWalker { } } -function writeProtocolFile(outputFile: string, protocolTs: string, typeScriptServicesDts: string) { - const options = { target: ts.ScriptTarget.ES5, declaration: true, noResolve: false, types: [] as string[], stripInternal: true }; +/** + * @param {string} outputFile + * @param {string} protocolTs + * @param {string} typeScriptServicesDts + */ +function writeProtocolFile(outputFile, protocolTs, typeScriptServicesDts) { + /** @type {ts.CompilerOptions} */ + const options = { target: ts.ScriptTarget.ES5, declaration: true, noResolve: false, types: [], stripInternal: true }; /** * 1st pass - generate a program from protocol.ts and typescriptservices.d.ts and emit core version of protocol.d.ts with all internal members stripped @@ -129,7 +183,8 @@ function writeProtocolFile(outputFile: string, protocolTs: string, typeScriptSer function getInitialDtsFileForProtocol() { const program = ts.createProgram([protocolTs, typeScriptServicesDts, path.join(typeScriptServicesDts, "../lib.es5.d.ts")], options); - let protocolDts: string | undefined; + /** @type {string | undefined} */ + let protocolDts; const emitResult = program.emit(program.getSourceFile(protocolTs), (file, content) => { if (endsWith(file, ".d.ts")) { protocolDts = content; @@ -137,7 +192,8 @@ function writeProtocolFile(outputFile: string, protocolTs: string, typeScriptSer }); if (protocolDts === undefined) { - const diagHost: ts.FormatDiagnosticsHost = { + /** @type {ts.FormatDiagnosticsHost} */ + const diagHost = { getCanonicalFileName(f) { return f; }, getCurrentDirectory() { return "."; }, getNewLine() { return "\r\n"; } @@ -151,12 +207,15 @@ function writeProtocolFile(outputFile: string, protocolTs: string, typeScriptSer const protocolFileName = "protocol.d.ts"; /** * Second pass - generate a program from protocol.d.ts and typescriptservices.d.ts, then augment core protocol.d.ts with extra types from typescriptservices.d.ts + * @param {string} protocolDts + * @param {boolean} includeTypeScriptServices */ - function getProgramWithProtocolText(protocolDts: string, includeTypeScriptServices: boolean) { + function getProgramWithProtocolText(protocolDts, includeTypeScriptServices) { const host = ts.createCompilerHost(options); const originalGetSourceFile = host.getSourceFile; host.getSourceFile = (fileName) => { if (fileName === protocolFileName) { + assert(options.target !== undefined); return ts.createSourceFile(fileName, protocolDts, options.target); } return originalGetSourceFile.apply(host, [fileName, ts.ScriptTarget.Latest]); @@ -168,7 +227,8 @@ function writeProtocolFile(outputFile: string, protocolTs: string, typeScriptSer let protocolDts = getInitialDtsFileForProtocol(); const program = getProgramWithProtocolText(protocolDts, /*includeTypeScriptServices*/ true); - const protocolFile = program.getSourceFile("protocol.d.ts")!; + const protocolFile = program.getSourceFile("protocol.d.ts"); + assert(protocolFile); const extraDeclarations = DeclarationsWalker.getExtraDeclarations(program.getTypeChecker(), protocolFile); if (extraDeclarations) { protocolDts += extraDeclarations; diff --git a/scripts/configureLanguageServiceBuild.ts b/scripts/configureLanguageServiceBuild.ts deleted file mode 100644 index 41d189f5b859d..0000000000000 --- a/scripts/configureLanguageServiceBuild.ts +++ /dev/null @@ -1,87 +0,0 @@ -/// -import { normalize, dirname, join } from "path"; -import { readFileSync, writeFileSync, unlinkSync, existsSync } from "fs"; -import * as assert from "assert"; -import { execSync } from "child_process"; -const args = process.argv.slice(2); - -/** - * A minimal description for a parsed package.json object. - */ -interface PackageJson { - name: string; - bin?: {}; - main: string; - scripts: { - prepare?: string - postpublish?: string - } -} - -function main(): void { - if (args.length < 1) { - console.log("Usage:"); - console.log("\tnode configureTSCBuild.js "); - return; - } - - // Acquire the version from the package.json file and modify it appropriately. - const packageJsonFilePath = normalize(args[0]); - const packageJsonValue: PackageJson = JSON.parse(readFileSync(packageJsonFilePath).toString()); - - // Remove the bin section from the current package - delete packageJsonValue.bin; - // We won't be running eslint which would run before publishing - delete packageJsonValue.scripts.prepare; - // No infinite loops - delete packageJsonValue.scripts.postpublish; - - // Set the new name - packageJsonValue.name = "@typescript/language-services"; - - writeFileSync(packageJsonFilePath, JSON.stringify(packageJsonValue, /*replacer:*/ undefined, /*space:*/ 4)); - - // Remove the files which aren't use when just using the API - const toRemove = [ - // JS Files - "tsserver.js", - "tsserverlibrary.js", - "typescriptServices.js", - "typingsInstaller.js", - "tsc.js", - // DTS files - "typescriptServices.d.ts", - "tsserverlibrary.d.ts" - ]; - - // Get a link to the main dependency JS file - const lib = join(dirname(packageJsonFilePath), packageJsonValue.main); - const libPath = dirname(lib); - - // Remove the sibling JS large files referenced above - toRemove.forEach(file => { - const path = join(libPath, file); - if (existsSync(path)) unlinkSync(path); - }); - - // Remove VS-specific localization keys - execSync("rm -rf loc", { cwd: dirname(packageJsonFilePath) }); - - // Remove runnable file reference - execSync("rm -rf bin", { cwd: dirname(packageJsonFilePath) }); - - /////////////////////////////////// - - // This section verifies that the build of TypeScript compiles and emits - - const ts = require(lib); - const source = "let x: string = 'string'"; - - const results = ts.transpileModule(source, { - compilerOptions: { module: ts.ModuleKind.CommonJS } - }); - - assert(results.outputText.trim() === "var x = 'string';", `Running typescript with ${packageJsonValue.name} did not return the expected results, got: ${results.outputText}`); -} - -main(); diff --git a/scripts/configurePrerelease.ts b/scripts/configurePrerelease.mjs similarity index 77% rename from scripts/configurePrerelease.ts rename to scripts/configurePrerelease.mjs index 17d8bb3a9208d..9c4b83ea8f508 100644 --- a/scripts/configurePrerelease.ts +++ b/scripts/configurePrerelease.mjs @@ -1,18 +1,20 @@ -/// import { normalize, relative } from "path"; -import * as assert from "assert"; +import assert from "assert"; import { readFileSync, writeFileSync } from "fs"; +import url from "url"; + +const __filename = url.fileURLToPath(new URL(import.meta.url)); /** * A minimal description for a parsed package.json object. - */ -interface PackageJson { + * @typedef {{ name: string; version: string; keywords: string[]; -} +}} PackageJson + */ -function main(): void { +function main() { const args = process.argv.slice(2); if (args.length < 3) { const thisProgramName = relative(process.cwd(), __filename); @@ -28,7 +30,8 @@ function main(): void { // Acquire the version from the package.json file and modify it appropriately. const packageJsonFilePath = normalize(args[1]); - const packageJsonValue: PackageJson = JSON.parse(readFileSync(packageJsonFilePath).toString()); + /** @type {PackageJson} */ + const packageJsonValue = JSON.parse(readFileSync(packageJsonFilePath).toString()); const { majorMinor, patch } = parsePackageJsonVersion(packageJsonValue.version); const prereleasePatch = getPrereleasePatch(tag, patch); @@ -53,17 +56,25 @@ function main(): void { } /* eslint-disable no-null/no-null */ -function updateTsFile(tsFilePath: string, tsFileContents: string, majorMinor: string, patch: string, nightlyPatch: string): string { +/** + * @param {string} tsFilePath + * @param {string} tsFileContents + * @param {string} majorMinor + * @param {string} patch + * @param {string} nightlyPatch + * @returns {string} + */ +function updateTsFile(tsFilePath, tsFileContents, majorMinor, patch, nightlyPatch) { const majorMinorRgx = /export const versionMajorMinor = "(\d+\.\d+)"/; const majorMinorMatch = majorMinorRgx.exec(tsFileContents); assert(majorMinorMatch !== null, `The file '${tsFilePath}' seems to no longer have a string matching '${majorMinorRgx}'.`); - const parsedMajorMinor = majorMinorMatch![1]; + const parsedMajorMinor = majorMinorMatch[1]; assert(parsedMajorMinor === majorMinor, `versionMajorMinor does not match. ${tsFilePath}: '${parsedMajorMinor}'; package.json: '${majorMinor}'`); const versionRgx = /export const version(?:: string)? = `\$\{versionMajorMinor\}\.(\d)(-\w+)?`;/; const patchMatch = versionRgx.exec(tsFileContents); assert(patchMatch !== null, `The file '${tsFilePath}' seems to no longer have a string matching '${versionRgx.toString()}'.`); - const parsedPatch = patchMatch![1]; + const parsedPatch = patchMatch[1]; if (parsedPatch !== patch) { throw new Error(`patch does not match. ${tsFilePath}: '${parsedPatch}; package.json: '${patch}'`); } @@ -71,16 +82,25 @@ function updateTsFile(tsFilePath: string, tsFileContents: string, majorMinor: st return tsFileContents.replace(versionRgx, `export const version: string = \`\${versionMajorMinor}.${nightlyPatch}\`;`); } -function parsePackageJsonVersion(versionString: string): { majorMinor: string, patch: string } { +/** + * @param {string} versionString + * @returns {{ majorMinor: string, patch: string }} + */ +function parsePackageJsonVersion(versionString) { const versionRgx = /(\d+\.\d+)\.(\d+)($|\-)/; const match = versionString.match(versionRgx); assert(match !== null, "package.json 'version' should match " + versionRgx.toString()); - return { majorMinor: match![1], patch: match![2] }; + return { majorMinor: match[1], patch: match[2] }; } /* eslint-enable no-null/no-null */ -/** e.g. 0-dev.20170707 */ -function getPrereleasePatch(tag: string, plainPatch: string): string { +/** + * e.g. 0-dev.20170707 + * @param {string} tag + * @param {string} plainPatch + * @returns {string} + */ +function getPrereleasePatch(tag, plainPatch) { // We're going to append a representation of the current time at the end of the current version. // String.prototype.toISOString() returns a 24-character string formatted as 'YYYY-MM-DDTHH:mm:ss.sssZ', // but we'd prefer to just remove separators and limit ourselves to YYYYMMDD. diff --git a/scripts/createPlaygroundBuild.js b/scripts/createPlaygroundBuild.js deleted file mode 100644 index 31fe5af92dd8e..0000000000000 --- a/scripts/createPlaygroundBuild.js +++ /dev/null @@ -1,313 +0,0 @@ -/* eslint-disable */ -// @ts-check - -/** Run via: - node scripts/createPlaygroundBuild.js - */ - -// This script does two things: -// -// - Listens to changes to the built version of TypeScript (via a filewatcher on `built/local/typescriptServices.js`) -// these trigger creating monaco-typescript compatible builds of TypeScript at `internal/lib/typescriptServices.js§ -// -// - Creates a HTTP server which the playground uses. The webserver almost exclusively re-directs requests to -// the latest stable version of monaco-typescript, but specifically overrides requests for the TypeScript js -// file to the version created in the above step. -// - -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -const path = require('path'); -const fs = require('fs'); -const child_process = require('child_process'); -const http = require('http'); -const url = require('url'); -const nodeFetch = require("node-fetch").default - -function updateTSDist() { - // This code is a direct port of a script from monaco-typescript - // https://github.com/microsoft/monaco-typescript/blob/master/scripts/importTypescript.js - // Currently based on cc8da6b on June 6 2021 - - const generatedNote = `// - // **NOTE**: Do not edit directly! This file is generated using \`npm run import-typescript\` - // - `; - - const TYPESCRIPT_LIB_SOURCE = path.join(__dirname, '../built/local'); - const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../internal/lib'); - - (function () { - try { - fs.statSync(TYPESCRIPT_LIB_DESTINATION); - } catch (err) { - fs.mkdirSync(TYPESCRIPT_LIB_DESTINATION); - } - importLibs(); - - const npmLsOutput = JSON.parse( - child_process.execSync('npm ls typescript --depth=0 --json=true').toString() - ); - const typeScriptDependencyVersion = npmLsOutput.version; - - fs.writeFileSync( - path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServicesMetadata.ts'), - `${generatedNote} - export const typescriptVersion = "${typeScriptDependencyVersion}";\n` - ); - - let tsServices = fs - .readFileSync(path.join(TYPESCRIPT_LIB_SOURCE, 'typescriptServices.js')) - .toString(); - - // Ensure we never run into the node system... - // (this also removes require calls that trick webpack into shimming those modules...) - tsServices = tsServices.replace( - /\n ts\.sys =([^]*)\n \}\)\(\);/m, - `\n // MONACOCHANGE\n ts.sys = undefined;\n // END MONACOCHANGE` - ); - - // Eliminate more require() calls... - tsServices = tsServices.replace( - /^( +)etwModule = require\(.*$/m, - '$1// MONACOCHANGE\n$1etwModule = undefined;\n$1// END MONACOCHANGE' - ); - tsServices = tsServices.replace( - /^( +)var result = ts\.sys\.require\(.*$/m, - '$1// MONACOCHANGE\n$1var result = undefined;\n$1// END MONACOCHANGE' - ); - tsServices = tsServices.replace( - /^( +)fs = require\("fs"\);$/m, - '$1// MONACOCHANGE\n$1fs = undefined;\n$1// END MONACOCHANGE' - ); - tsServices = tsServices.replace( - /^( +)debugger;$/m, - '$1// MONACOCHANGE\n$1// debugger;\n$1// END MONACOCHANGE' - ); - tsServices = tsServices.replace( - /= require\("perf_hooks"\)/m, - '/* MONACOCHANGE */= {}/* END MONACOCHANGE */' - ); - - // Flag any new require calls (outside comments) so they can be corrected preemptively. - // To avoid missing cases (or using an even more complex regex), temporarily remove comments - // about require() and then check for lines actually calling require(). - // \/[*/] matches the start of a comment (single or multi-line). - // ^\s+\*[^/] matches (presumably) a later line of a multi-line comment. - const tsServicesNoCommentedRequire = tsServices.replace( - /(\/[*/]|^\s+\*[^/]).*\brequire\(.*/gm, - '' - ); - const linesWithRequire = tsServicesNoCommentedRequire.match(/^.*?\brequire\(.*$/gm); - - // Allow error messages to include references to require() in their strings - const runtimeRequires = - linesWithRequire && - linesWithRequire.filter((l) => !l.includes(': diag(') && !l.includes('ts.DiagnosticCategory')); - - if (runtimeRequires && runtimeRequires.length && linesWithRequire) { - console.error( - 'Found new require() calls on the following lines. These should be removed to avoid breaking webpack builds.\n' - ); - console.error( - runtimeRequires.map((r) => `${r} (${tsServicesNoCommentedRequire.indexOf(r)})`).join('\n') - ); - process.exit(1); - } - - const tsServices_amd = - generatedNote + - tsServices + - ` - // MONACOCHANGE - // Defining the entire module name because r.js has an issue and cannot bundle this file - // correctly with an anonymous define call - define("vs/language/typescript/lib/typescriptServices", [], function() { return ts; }); - // END MONACOCHANGE - `; - fs.writeFileSync( - path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServices-amd.js'), - stripSourceMaps(tsServices_amd) - ); - - const tsServices_esm = - generatedNote + - tsServices + - ` - // MONACOCHANGE - export var createClassifier = ts.createClassifier; - export var createLanguageService = ts.createLanguageService; - export var displayPartsToString = ts.displayPartsToString; - export var EndOfLineState = ts.EndOfLineState; - export var flattenDiagnosticMessageText = ts.flattenDiagnosticMessageText; - export var IndentStyle = ts.IndentStyle; - export var ScriptKind = ts.ScriptKind; - export var ScriptTarget = ts.ScriptTarget; - export var TokenClass = ts.TokenClass; - // END MONACOCHANGE - `; - fs.writeFileSync( - path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServices.js'), - stripSourceMaps(tsServices_esm) - ); - - let dtsServices = fs - .readFileSync(path.join(TYPESCRIPT_LIB_SOURCE, 'typescriptServices.d.ts')) - .toString(); - dtsServices += ` - // MONACOCHANGE - export = ts; - // END MONACOCHANGE - `; - fs.writeFileSync( - path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServices.d.ts'), - generatedNote + dtsServices - ); - })(); - - function importLibs() { - function readLibFile(name) { - const srcPath = path.join(TYPESCRIPT_LIB_SOURCE, name); - return fs.readFileSync(srcPath).toString(); - } - - let strLibResult = `/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - ${generatedNote} - /** Contains all the lib files */ - export const libFileMap: Record = {} - `; - let strIndexResult = `/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - ${generatedNote} - /** Contains all the lib files */ - export const libFileSet: Record = {} - `; - const dtsFiles = fs.readdirSync(TYPESCRIPT_LIB_SOURCE).filter((f) => f.includes('lib.')); - while (dtsFiles.length > 0) { - const name = dtsFiles.shift(); - const output = readLibFile(name).replace(/\r\n/g, '\n'); - strLibResult += `libFileMap['${name}'] = "${escapeText(output)}";\n`; - strIndexResult += `libFileSet['${name}'] = true;\n`; - } - - fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'lib.ts'), strLibResult); - fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'lib.index.ts'), strIndexResult); - } - - /** - * Escape text such that it can be used in a javascript string enclosed by double quotes (") - */ - function escapeText(text) { - // See http://www.javascriptkit.com/jsref/escapesequence.shtml - const _backspace = '\b'.charCodeAt(0); - const _formFeed = '\f'.charCodeAt(0); - const _newLine = '\n'.charCodeAt(0); - const _nullChar = 0; - const _carriageReturn = '\r'.charCodeAt(0); - const _tab = '\t'.charCodeAt(0); - const _verticalTab = '\v'.charCodeAt(0); - const _backslash = '\\'.charCodeAt(0); - const _doubleQuote = '"'.charCodeAt(0); - - const len = text.length; - let startPos = 0; - let chrCode; - let replaceWith = null; - let resultPieces = []; - - for (let i = 0; i < len; i++) { - chrCode = text.charCodeAt(i); - switch (chrCode) { - case _backspace: - replaceWith = '\\b'; - break; - case _formFeed: - replaceWith = '\\f'; - break; - case _newLine: - replaceWith = '\\n'; - break; - case _nullChar: - replaceWith = '\\0'; - break; - case _carriageReturn: - replaceWith = '\\r'; - break; - case _tab: - replaceWith = '\\t'; - break; - case _verticalTab: - replaceWith = '\\v'; - break; - case _backslash: - replaceWith = '\\\\'; - break; - case _doubleQuote: - replaceWith = '\\"'; - break; - } - if (replaceWith !== null) { - resultPieces.push(text.substring(startPos, i)); - resultPieces.push(replaceWith); - startPos = i + 1; - replaceWith = null; - } - } - resultPieces.push(text.substring(startPos, len)); - return resultPieces.join(''); - } - - function stripSourceMaps(str) { - return str.replace(/\/\/# sourceMappingURL[^\n]+/gm, ''); - } - /// End of import -} - -const services = path.join(__dirname, '../built/local/typescriptServices.js'); -fs.watchFile(services, () =>{ - console.log("Updating the monaco build") - updateTSDist() -}) - -// We need to re-direct non TSC JS requests back to a real copy of -// monaco, so grab the list of official releases from the TS CDN -// and use the latest stable release, as that is most likely the -// closest version to your dev build -let latestStable = "4.3.2" -nodeFetch('https://typescript.azureedge.net/indexes/releases.json').then(req => req.json()).then(releases => { - latestStable = releases.versions.pop() -}); - -http.createServer(function (req, res) { - res.setHeader("Access-Control-Allow-Origin", "*") - - const incoming = url.parse(req.url) - if (incoming.path.endsWith("typescriptServices.js")) { - // Use the built version - res.writeHead(200, {"Content-Type": "text/javascript"}); - const amdPath = path.join(__dirname, '../internal/lib/typescriptServices-amd.js'); - res.write(fs.readFileSync(amdPath)) - } else { - // Redirect to the TS CDN - res.writeHead(302, { - 'Location': `https://typescript.azureedge.net/cdn/${latestStable}/monaco${incoming.path}` - }); - } - - res.end(); -}).listen(5615); - -console.log("Starting servers\n") -console.log(" - [✓] file watcher: " + services) -updateTSDist() -console.log(" - [✓] http server: http://localhost:5615") - -console.log("\n\nGet started: http://www.staging-typescript.org/play?ts=dev") diff --git a/scripts/errorCheck.ts b/scripts/errorCheck.mjs similarity index 87% rename from scripts/errorCheck.ts rename to scripts/errorCheck.mjs index 9e285516d73ab..c2e031e5487da 100644 --- a/scripts/errorCheck.ts +++ b/scripts/errorCheck.mjs @@ -1,7 +1,7 @@ -import * as fs from "fs"; -import * as fsPromises from "fs/promises"; -import * as _glob from "glob"; -import * as util from "util"; +import fs from "fs"; +import fsPromises from "fs/promises"; +import _glob from "glob"; +import util from "util"; const glob = util.promisify(_glob); @@ -24,7 +24,7 @@ async function checkErrorBaselines() { fs.readFile(baseDir + f, "utf-8", (err, baseline) => { if (err) throw err; - let g: RegExpExecArray | null; + let g; while (g = errRegex.exec(baseline)) { const errCode = +g[1]; const msg = keys.filter(k => messages[k].code === errCode)[0]; @@ -48,8 +48,8 @@ async function checkSourceFiles() { const data = await fsPromises.readFile("src/compiler/diagnosticInformationMap.generated.ts", "utf-8"); const errorRegexp = /\s(\w+): \{ code/g; - const errorNames: string[] = []; - let errMatch: RegExpExecArray | null; + const errorNames = []; + let errMatch; while (errMatch = errorRegexp.exec(data)) { errorNames.push(errMatch[1]); } diff --git a/scripts/eslint/rules/boolean-trivia.js b/scripts/eslint/rules/boolean-trivia.cjs similarity index 95% rename from scripts/eslint/rules/boolean-trivia.js rename to scripts/eslint/rules/boolean-trivia.cjs index 2aa38ab04c284..2b823f392997d 100644 --- a/scripts/eslint/rules/boolean-trivia.js +++ b/scripts/eslint/rules/boolean-trivia.cjs @@ -1,5 +1,5 @@ const { AST_NODE_TYPES, TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "boolean-trivia", diff --git a/scripts/eslint/rules/debug-assert.js b/scripts/eslint/rules/debug-assert.cjs similarity index 95% rename from scripts/eslint/rules/debug-assert.js rename to scripts/eslint/rules/debug-assert.cjs index 7f01a43c9c30b..da4c70bf4600f 100644 --- a/scripts/eslint/rules/debug-assert.js +++ b/scripts/eslint/rules/debug-assert.cjs @@ -1,5 +1,5 @@ const { AST_NODE_TYPES, TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "debug-assert", diff --git a/scripts/eslint/rules/no-double-space.js b/scripts/eslint/rules/no-double-space.cjs similarity index 95% rename from scripts/eslint/rules/no-double-space.js rename to scripts/eslint/rules/no-double-space.cjs index 1845486edc78e..1d716d084b08f 100644 --- a/scripts/eslint/rules/no-double-space.js +++ b/scripts/eslint/rules/no-double-space.cjs @@ -1,5 +1,5 @@ const { TSESTree, AST_NODE_TYPES } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "no-double-space", diff --git a/scripts/eslint/rules/no-in-operator.js b/scripts/eslint/rules/no-in-operator.cjs similarity index 91% rename from scripts/eslint/rules/no-in-operator.js rename to scripts/eslint/rules/no-in-operator.cjs index c93000e307518..d17e88be951cf 100644 --- a/scripts/eslint/rules/no-in-operator.js +++ b/scripts/eslint/rules/no-in-operator.cjs @@ -1,5 +1,5 @@ const { TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "no-in-operator", diff --git a/scripts/eslint/rules/no-keywords.js b/scripts/eslint/rules/no-keywords.cjs similarity index 95% rename from scripts/eslint/rules/no-keywords.js rename to scripts/eslint/rules/no-keywords.cjs index 00b18b598e575..673a857912cd4 100644 --- a/scripts/eslint/rules/no-keywords.js +++ b/scripts/eslint/rules/no-keywords.cjs @@ -1,5 +1,5 @@ const { TSESTree, AST_NODE_TYPES } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "no-keywords", diff --git a/scripts/eslint/rules/no-type-assertion-whitespace.js b/scripts/eslint/rules/no-type-assertion-whitespace.cjs similarity index 93% rename from scripts/eslint/rules/no-type-assertion-whitespace.js rename to scripts/eslint/rules/no-type-assertion-whitespace.cjs index f107d234f6e17..174de300562e8 100644 --- a/scripts/eslint/rules/no-type-assertion-whitespace.js +++ b/scripts/eslint/rules/no-type-assertion-whitespace.cjs @@ -1,5 +1,5 @@ const { TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "no-type-assertion-whitespace", diff --git a/scripts/eslint/rules/object-literal-surrounding-space.js b/scripts/eslint/rules/object-literal-surrounding-space.cjs similarity index 95% rename from scripts/eslint/rules/object-literal-surrounding-space.js rename to scripts/eslint/rules/object-literal-surrounding-space.cjs index 2a04ae20f136c..2321acbce1cf1 100644 --- a/scripts/eslint/rules/object-literal-surrounding-space.js +++ b/scripts/eslint/rules/object-literal-surrounding-space.cjs @@ -1,5 +1,5 @@ const { TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "object-literal-surrounding-space", diff --git a/scripts/eslint/rules/one-namespace-per-file.js b/scripts/eslint/rules/one-namespace-per-file.cjs similarity index 93% rename from scripts/eslint/rules/one-namespace-per-file.js rename to scripts/eslint/rules/one-namespace-per-file.cjs index a91f54eeafcf1..2b8772005a9c7 100644 --- a/scripts/eslint/rules/one-namespace-per-file.js +++ b/scripts/eslint/rules/one-namespace-per-file.cjs @@ -1,5 +1,5 @@ const { AST_NODE_TYPES, TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "one-namespace-per-file", diff --git a/scripts/eslint/rules/only-arrow-functions.js b/scripts/eslint/rules/only-arrow-functions.cjs similarity index 95% rename from scripts/eslint/rules/only-arrow-functions.js rename to scripts/eslint/rules/only-arrow-functions.cjs index a97673b08d32a..d2d553ab3b3d6 100644 --- a/scripts/eslint/rules/only-arrow-functions.js +++ b/scripts/eslint/rules/only-arrow-functions.cjs @@ -1,5 +1,5 @@ const { AST_NODE_TYPES, TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "only-arrow-functions", diff --git a/scripts/eslint/rules/simple-indent.js b/scripts/eslint/rules/simple-indent.cjs similarity index 95% rename from scripts/eslint/rules/simple-indent.js rename to scripts/eslint/rules/simple-indent.cjs index fc41e21cd19f6..3701da068bb84 100644 --- a/scripts/eslint/rules/simple-indent.js +++ b/scripts/eslint/rules/simple-indent.cjs @@ -1,5 +1,5 @@ const { TSESTree } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "simple-indent", diff --git a/scripts/eslint/rules/type-operator-spacing.js b/scripts/eslint/rules/type-operator-spacing.cjs similarity index 93% rename from scripts/eslint/rules/type-operator-spacing.js rename to scripts/eslint/rules/type-operator-spacing.cjs index 1df853da6a330..16a493eaf0922 100644 --- a/scripts/eslint/rules/type-operator-spacing.js +++ b/scripts/eslint/rules/type-operator-spacing.cjs @@ -1,5 +1,5 @@ const { TSESTree, AST_TOKEN_TYPES } = require("@typescript-eslint/utils"); -const { createRule } = require("./utils"); +const { createRule } = require("./utils.cjs"); module.exports = createRule({ name: "type-operator-spacing", diff --git a/scripts/eslint/rules/utils.js b/scripts/eslint/rules/utils.cjs similarity index 100% rename from scripts/eslint/rules/utils.js rename to scripts/eslint/rules/utils.cjs diff --git a/scripts/eslint/tests/boolean-trivia.test.ts b/scripts/eslint/tests/boolean-trivia.test.cjs similarity index 89% rename from scripts/eslint/tests/boolean-trivia.test.ts rename to scripts/eslint/tests/boolean-trivia.test.cjs index df8ba4e34cd39..717ce610f0389 100644 --- a/scripts/eslint/tests/boolean-trivia.test.ts +++ b/scripts/eslint/tests/boolean-trivia.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/boolean-trivia"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/boolean-trivia.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/debug-assert.test.ts b/scripts/eslint/tests/debug-assert.test.cjs similarity index 88% rename from scripts/eslint/tests/debug-assert.test.ts rename to scripts/eslint/tests/debug-assert.test.cjs index d0400507dc207..ae5961e41fc12 100644 --- a/scripts/eslint/tests/debug-assert.test.ts +++ b/scripts/eslint/tests/debug-assert.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/debug-assert"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/debug-assert.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/no-double-space.test.ts b/scripts/eslint/tests/no-double-space.test.cjs similarity index 92% rename from scripts/eslint/tests/no-double-space.test.ts rename to scripts/eslint/tests/no-double-space.test.cjs index b28154675b071..b411fbe6ea85f 100644 --- a/scripts/eslint/tests/no-double-space.test.ts +++ b/scripts/eslint/tests/no-double-space.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/no-double-space"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/no-double-space.cjs"); const ruleTester = new RuleTester({ parser: require.resolve("@typescript-eslint/parser"), diff --git a/scripts/eslint/tests/no-in-operator.test.ts b/scripts/eslint/tests/no-in-operator.test.cjs similarity index 77% rename from scripts/eslint/tests/no-in-operator.test.ts rename to scripts/eslint/tests/no-in-operator.test.cjs index aef915670fec6..0df73219bc872 100644 --- a/scripts/eslint/tests/no-in-operator.test.ts +++ b/scripts/eslint/tests/no-in-operator.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/no-in-operator"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/no-in-operator.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/no-keywords.test.ts b/scripts/eslint/tests/no-keywords.test.cjs similarity index 92% rename from scripts/eslint/tests/no-keywords.test.ts rename to scripts/eslint/tests/no-keywords.test.cjs index 18c348720599c..3618329b68aba 100644 --- a/scripts/eslint/tests/no-keywords.test.ts +++ b/scripts/eslint/tests/no-keywords.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/no-keywords"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/no-keywords.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/no-type-assertion-whitespace.test.ts b/scripts/eslint/tests/no-type-assertion-whitespace.test.cjs similarity index 86% rename from scripts/eslint/tests/no-type-assertion-whitespace.test.ts rename to scripts/eslint/tests/no-type-assertion-whitespace.test.cjs index 4cc68fd3a06d9..aa820094a0ee9 100644 --- a/scripts/eslint/tests/no-type-assertion-whitespace.test.ts +++ b/scripts/eslint/tests/no-type-assertion-whitespace.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/no-type-assertion-whitespace"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/no-type-assertion-whitespace.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/object-literal-surrounding-space.test.ts b/scripts/eslint/tests/object-literal-surrounding-space.test.cjs similarity index 86% rename from scripts/eslint/tests/object-literal-surrounding-space.test.ts rename to scripts/eslint/tests/object-literal-surrounding-space.test.cjs index 2e94a2b61f3b6..7c697af531fb9 100644 --- a/scripts/eslint/tests/object-literal-surrounding-space.test.ts +++ b/scripts/eslint/tests/object-literal-surrounding-space.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/object-literal-surrounding-space"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/object-literal-surrounding-space.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/only-arrow-functions.test.ts b/scripts/eslint/tests/only-arrow-functions.test.cjs similarity index 92% rename from scripts/eslint/tests/only-arrow-functions.test.ts rename to scripts/eslint/tests/only-arrow-functions.test.cjs index 0909e5b58685d..52945d44f39f0 100644 --- a/scripts/eslint/tests/only-arrow-functions.test.ts +++ b/scripts/eslint/tests/only-arrow-functions.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/only-arrow-functions"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/only-arrow-functions.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/simple-indent.test.ts b/scripts/eslint/tests/simple-indent.test.cjs similarity index 93% rename from scripts/eslint/tests/simple-indent.test.ts rename to scripts/eslint/tests/simple-indent.test.cjs index 161755c366bad..0e4d925c56091 100644 --- a/scripts/eslint/tests/simple-indent.test.ts +++ b/scripts/eslint/tests/simple-indent.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/simple-indent"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/simple-indent.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tests/support/RuleTester.cjs b/scripts/eslint/tests/support/RuleTester.cjs new file mode 100644 index 0000000000000..44e093d48e50a --- /dev/null +++ b/scripts/eslint/tests/support/RuleTester.cjs @@ -0,0 +1,6 @@ +const path = require("path"); +const { TSESLint } = require("@typescript-eslint/utils"); + +module.exports.ROOT_DIR = path.join(process.cwd(), "scripts", "eslint", "tests", "fixtures"); +module.exports.FILENAME = path.join(module.exports.ROOT_DIR, "file.ts"); +module.exports.RuleTester = TSESLint.RuleTester; diff --git a/scripts/eslint/tests/support/RuleTester.ts b/scripts/eslint/tests/support/RuleTester.ts deleted file mode 100644 index dcb434bb86062..0000000000000 --- a/scripts/eslint/tests/support/RuleTester.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as path from "path"; -import { TSESLint } from "@typescript-eslint/utils"; - -export const ROOT_DIR = path.join(process.cwd(), "scripts", "eslint", "tests", "fixtures"); -export const FILENAME = path.join(ROOT_DIR, "file.ts"); -export const RuleTester = TSESLint.RuleTester; diff --git a/scripts/eslint/tests/type-operator-spacing.test.ts b/scripts/eslint/tests/type-operator-spacing.test.cjs similarity index 86% rename from scripts/eslint/tests/type-operator-spacing.test.ts rename to scripts/eslint/tests/type-operator-spacing.test.cjs index 7654dfc9c53ec..3341348828e1a 100644 --- a/scripts/eslint/tests/type-operator-spacing.test.ts +++ b/scripts/eslint/tests/type-operator-spacing.test.cjs @@ -1,5 +1,5 @@ -import { RuleTester } from "./support/RuleTester"; -import rule = require("../rules/type-operator-spacing"); +const { RuleTester } = require("./support/RuleTester.cjs"); +const rule = require("../rules/type-operator-spacing.cjs"); const ruleTester = new RuleTester({ parserOptions: { diff --git a/scripts/eslint/tsconfig.json b/scripts/eslint/tsconfig.json deleted file mode 100644 index a9994669e63eb..0000000000000 --- a/scripts/eslint/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "compilerOptions": { - "lib": [ - "es6" - ], - "module": "commonjs", - "target": "es6", - "outDir": "./built", - "declaration": false, - - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node", - "allowUnusedLabels": false, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noPropertyAccessFromIndexSignature": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "allowJs": true, - "checkJs": true - }, - - "include": [ - "rules", - "tests" - ] -} diff --git a/scripts/failed-tests.js b/scripts/failed-tests.cjs similarity index 86% rename from scripts/failed-tests.js rename to scripts/failed-tests.cjs index 41536e633755a..78e90fc97695d 100644 --- a/scripts/failed-tests.js +++ b/scripts/failed-tests.cjs @@ -1,15 +1,19 @@ -// @ts-check +const assert = require("assert"); const Mocha = require("mocha"); const path = require("path"); const fs = require("fs"); const os = require("os"); -const failingHookRegExp = /^(.*) "(before|after) (all|each)" hook$/; +/** @typedef {{ + file?: string; + keepFailed?: boolean; + reporter?: Mocha.ReporterConstructor | keyof Mocha.reporters; + reporterOptions?: any; // TODO(jakebailey): what? +}} ReporterOptions */ /** * .failed-tests reporter * - * @typedef {Object} ReporterOptions * @property {string} [file] * @property {boolean} [keepFailed] * @property {string|Mocha.ReporterConstructor} [reporter] @@ -24,7 +28,7 @@ class FailedTestsReporter extends Mocha.reporters.Base { super(runner, options); if (!runner) return; - const reporterOptions = this.reporterOptions = options.reporterOptions || {}; + const reporterOptions = this.reporterOptions = options?.reporterOptions || {}; if (reporterOptions.file === undefined) reporterOptions.file = ".failed-tests"; if (reporterOptions.keepFailed === undefined) reporterOptions.keepFailed = false; if (reporterOptions.reporter) { @@ -67,7 +71,7 @@ class FailedTestsReporter extends Mocha.reporters.Base { * @param {ReadonlyArray} passes * @param {ReadonlyArray} failures * @param {boolean} keepFailed - * @param {(err?: NodeJS.ErrnoException) => void} done + * @param {(err?: NodeJS.ErrnoException | null) => void} done */ static writeFailures(file, passes, failures, keepFailed, done) { const failingTests = new Set(fs.existsSync(file) ? readTests() : undefined); @@ -78,6 +82,7 @@ class FailedTestsReporter extends Mocha.reporters.Base { if (failingTests.size > 0 && !keepFailed) { for (const test of passes) { failingTests.delete(test.fullTitle().trim()); + assert(test.parent); possiblyPassingSuites.add(test.parent.fullTitle().trim()); } } @@ -86,6 +91,7 @@ class FailedTestsReporter extends Mocha.reporters.Base { // containing suite as failing. If the suite for a test or hook was // possibly passing then it is now definitely failing. for (const test of failures) { + assert(test.parent); const suiteTitle = test.parent.fullTitle().trim(); if (test.type === "test") { failingTests.add(test.fullTitle().trim()); @@ -126,8 +132,11 @@ class FailedTestsReporter extends Mocha.reporters.Base { /** * @param {number} failures * @param {(failures: number) => void} [fn] + * @override */ done(failures, fn) { + assert(this.reporterOptions); + assert(this.reporterOptions.file); FailedTestsReporter.writeFailures(this.reporterOptions.file, this.passes, this.failures, this.reporterOptions.keepFailed || this.stats.tests === 0, (err) => { const reporter = this.reporter; if (reporter && reporter.done) { diff --git a/scripts/failed-tests.d.cts b/scripts/failed-tests.d.cts new file mode 100644 index 0000000000000..2978fb8175866 --- /dev/null +++ b/scripts/failed-tests.d.cts @@ -0,0 +1,52 @@ +export = FailedTestsReporter; +/** @typedef {{ + file?: string; + keepFailed?: boolean; + reporter?: Mocha.ReporterConstructor | keyof Mocha.reporters; + reporterOptions?: any; // TODO(jakebailey): what? +}} ReporterOptions */ +/** + * .failed-tests reporter + * + * @property {string} [file] + * @property {boolean} [keepFailed] + * @property {string|Mocha.ReporterConstructor} [reporter] + * @property {*} [reporterOptions] + */ +declare class FailedTestsReporter extends Mocha.reporters.Base { + /** + * @param {string} file + * @param {ReadonlyArray} passes + * @param {ReadonlyArray} failures + * @param {boolean} keepFailed + * @param {(err?: NodeJS.ErrnoException | null) => void} done + */ + static writeFailures(file: string, passes: ReadonlyArray, failures: ReadonlyArray, keepFailed: boolean, done: (err?: NodeJS.ErrnoException | null) => void): void; + /** + * @param {Mocha.Runner} runner + * @param {{ reporterOptions?: ReporterOptions }} [options] + */ + constructor(runner: Mocha.Runner, options?: { + reporterOptions?: ReporterOptions | undefined; + } | undefined); + reporterOptions: ReporterOptions | undefined; + reporter: Mocha.reporters.Base | undefined; + /** @type {Mocha.Test[]} */ + passes: Mocha.Test[]; + /** + * @param {number} failures + * @param {(failures: number) => void} [fn] + * @override + */ + override done(failures: number, fn?: ((failures: number) => void) | undefined): void; +} +declare namespace FailedTestsReporter { + export { ReporterOptions }; +} +import Mocha = require("mocha"); +type ReporterOptions = { + file?: string; + keepFailed?: boolean; + reporter?: Mocha.ReporterConstructor | keyof typeof Mocha.reporters; + reporterOptions?: any; +}; diff --git a/scripts/failed-tests.d.ts b/scripts/failed-tests.d.ts deleted file mode 100644 index 866ed8f6bfed0..0000000000000 --- a/scripts/failed-tests.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as Mocha from "mocha"; - -export = FailedTestsReporter; - -declare class FailedTestsReporter extends Mocha.reporters.Base { - passes: Mocha.Test[]; - failures: Mocha.Test[]; - reporterOptions: FailedTestsReporter.ReporterOptions; - reporter?: Mocha.reporters.Base; - constructor(runner: Mocha.Runner, options?: { reporterOptions?: FailedTestsReporter.ReporterOptions }); - static writeFailures(file: string, passes: readonly Mocha.Test[], failures: readonly Mocha.Test[], keepFailed: boolean, done: (err?: NodeJS.ErrnoException) => void): void; - done(failures: number, fn?: (failures: number) => void): void; -} - -declare namespace FailedTestsReporter { - interface ReporterOptions { - file?: string; - keepFailed?: boolean; - reporter?: string | Mocha.ReporterConstructor; - reporterOptions?: any; - } -} diff --git a/scripts/find-unused-diganostic-messages.mjs b/scripts/find-unused-diganostic-messages.mjs index ba529cf81bcf0..e9cc9bc48f2f4 100644 --- a/scripts/find-unused-diganostic-messages.mjs +++ b/scripts/find-unused-diganostic-messages.mjs @@ -1,14 +1,14 @@ -// @ts-check // This file requires a modern version of node 14+, and grep to be available. // node scripts/find-unused-diagnostic-messages.mjs import { readFileSync } from "fs"; -import {EOL} from "os"; +import { EOL } from "os"; import { execSync } from "child_process"; const diags = readFileSync("src/compiler/diagnosticInformationMap.generated.ts", "utf8"); const startOfDiags = diags.split("export const Diagnostics")[1]; +/** @type {string[]} */ const missingNames = []; startOfDiags.split(EOL).forEach(line => { if (!line.includes(":")) return; diff --git a/scripts/generateLocalizedDiagnosticMessages.ts b/scripts/generateLocalizedDiagnosticMessages.mjs similarity index 81% rename from scripts/generateLocalizedDiagnosticMessages.ts rename to scripts/generateLocalizedDiagnosticMessages.mjs index abfe6a3cff93e..e32ba78d037a4 100644 --- a/scripts/generateLocalizedDiagnosticMessages.ts +++ b/scripts/generateLocalizedDiagnosticMessages.mjs @@ -1,8 +1,8 @@ -import * as fs from "fs"; -import * as path from "path"; -import * as xml2js from "xml2js"; +import fs from "fs"; +import path from "path"; +import xml2js from "xml2js"; -function main(): void { +function main() { const args = process.argv.slice(2); if (args.length !== 3) { console.log("Usage:"); @@ -25,7 +25,10 @@ function main(): void { return; - function visitDirectory(name: string) { + /** + * @param {string} name + */ + function visitDirectory(name) { const inputFilePath = path.join(inputPath, name, "diagnosticMessages", "diagnosticMessages.generated.json.lcl"); fs.readFile(inputFilePath, (err, data) => { @@ -63,8 +66,10 @@ function main(): void { * * Most of the languages we support are neutral locales, so we want to use the language name. * There are three exceptions, zh-CN, zh-TW and pt-BR. + * + * @param {string} localeName */ - function getPreferredLocaleName(localeName: string) { + function getPreferredLocaleName(localeName) { switch (localeName) { case "zh-CN": case "zh-TW": @@ -75,15 +80,22 @@ function main(): void { } } - function handleError(err: null | object) { + /** + * @param {null | object} err + */ + function handleError(err) { if (err) { console.error(err); process.exit(1); } } - function xmlObjectToString(o: any) { - const out: any = {}; + /** + * @param {any} o + */ + function xmlObjectToString(o) { + /** @type {any} */ + const out = {}; for (const item of o.LCX.Item[0].Item[0].Item) { let ItemId = item.$.ItemId; let val = item.Str[0].Tgt ? item.Str[0].Tgt[0].Val[0] : item.Str[0].Val[0]; @@ -104,7 +116,11 @@ function main(): void { } - function ensureDirectoryExists(directoryPath: string, action: () => void) { + /** + * @param {string} directoryPath + * @param {() => void} action + */ + function ensureDirectoryExists(directoryPath, action) { fs.exists(directoryPath, exists => { if (!exists) { const basePath = path.dirname(directoryPath); @@ -116,14 +132,21 @@ function main(): void { }); } - function writeFile(fileName: string, contents: string) { + /** + * @param {string} fileName + * @param {string} contents + */ + function writeFile(fileName, contents) { ensureDirectoryExists(path.dirname(fileName), () => { fs.writeFile(fileName, contents, handleError); }); } - function objectToList(o: Record) { - const list: { key: string, value: string }[] = []; + /** + * @param {Record} o + */ + function objectToList(o) { + const list = []; for (const key in o) { list.push({ key, value: o[key] }); } @@ -142,9 +165,13 @@ function main(): void { )); }); - function getItemXML(key: string, value: string) { + /** + * @param {string} key + * @param {string} value + */ + function getItemXML(key, value) { // escape entrt value - value = value.replace(/]/, "]5D;"); + value = value.replace(/]/g, "]5D;"); return ` @@ -155,7 +182,10 @@ function main(): void { `; } - function getLCGFileXML(items: string) { + /** + * @param {string} items + */ + function getLCGFileXML(items) { return ` diff --git a/scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.ts b/scripts/importDefinitelyTypedTests.mjs similarity index 79% rename from scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.ts rename to scripts/importDefinitelyTypedTests.mjs index bfe4886361ba4..70258b045f48a 100644 --- a/scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.ts +++ b/scripts/importDefinitelyTypedTests.mjs @@ -1,17 +1,11 @@ import * as fs from "fs"; import * as path from "path"; +import * as os from "os"; import * as childProcess from "child_process"; +import url from "url"; - -interface Map { - [key: string]: T; -} - -declare let process: { - argv: string[]; - env: Map; - exit(exitCode?: number): void; -}; +const __filename = url.fileURLToPath(new URL(import.meta.url)); +const __dirname = path.dirname(__filename); main(); function main() { @@ -35,25 +29,41 @@ function main() { importDefinitelyTypedTests(tscPath, rwcTestPath, resolvedDefinitelyTypedRoot); } -function filePathEndsWith(path: string, endingString: string): boolean { +/** + * @param {string} path + * @param {string} endingString + * @returns {boolean} + */ +function filePathEndsWith(path, endingString) { const pathLen = path.length; const extLen = endingString.length; return pathLen > extLen && path.substr(pathLen - extLen, extLen).toLocaleLowerCase() === endingString.toLocaleLowerCase(); } -function copyFileSync(source: string, destination: string) { +/** + * @param {string} source + * @param {string} destination + */ +function copyFileSync(source, destination) { const text = fs.readFileSync(source); fs.writeFileSync(destination, text); } -function importDefinitelyTypedTest(tscPath: string, rwcTestPath: string, testCaseName: string, testFiles: string[], responseFile: string | undefined) { +/** + * @param {string} tscPath + * @param {string} rwcTestPath + * @param {string} testCaseName + * @param {string[]} testFiles + * @param {string | undefined} responseFile + */ +function importDefinitelyTypedTest(tscPath, rwcTestPath, testCaseName, testFiles, responseFile) { let cmd = "node " + tscPath + " --module commonjs " + testFiles.join(" "); if (responseFile) { cmd += " @" + responseFile; } const testDirectoryName = testCaseName + "_" + Math.floor((Math.random() * 10000) + 1); - const testDirectoryPath = path.join(process.env.temp, testDirectoryName); + const testDirectoryPath = path.join(os.tmpdir(), testDirectoryName); if (fs.existsSync(testDirectoryPath)) { throw new Error("Could not create test directory"); } @@ -94,13 +104,18 @@ function importDefinitelyTypedTest(tscPath: string, rwcTestPath: string, testCas } //console.log("\r\n"); - }).on("error", (error: any) => { + }).on("error", (error) => { console.log("==> error " + JSON.stringify(error)); console.log("\r\n"); }); } -function importDefinitelyTypedTests(tscPath: string, rwcTestPath: string, definitelyTypedRoot: string): void { +/** + * @param {string} tscPath + * @param {string} rwcTestPath + * @param {string} definitelyTypedRoot + */ +function importDefinitelyTypedTests(tscPath, rwcTestPath, definitelyTypedRoot) { fs.readdir(definitelyTypedRoot, (err, subDirectories) => { if (err) { throw err; @@ -120,9 +135,12 @@ function importDefinitelyTypedTests(tscPath: string, rwcTestPath: string, defini throw err; } - const tsFiles: string[] = []; - const testFiles: string[] = []; - let paramFile: string | undefined; + /** @type {string[]} */ + const tsFiles = []; + /** @type {string[]} */ + const testFiles = []; + /** @type {string | undefined} */ + let paramFile; for (const filePath of files.map(f => path.join(directoryPath, f))) { if (filePathEndsWith(filePath, ".ts")) { @@ -139,7 +157,7 @@ function importDefinitelyTypedTests(tscPath: string, rwcTestPath: string, defini if (testFiles.length === 0) { // no test files but multiple d.ts's, e.g. winjs - const regexp = new RegExp(d + "(([-][0-9])|([\.]d[\.]ts))"); + const regexp = new RegExp(d + "(([-][0-9])|(\\.d\\.ts))"); if (tsFiles.length > 1 && tsFiles.every(t => filePathEndsWith(t, ".d.ts") && regexp.test(t))) { for (const fileName of tsFiles) { importDefinitelyTypedTest(tscPath, rwcTestPath, path.basename(fileName, ".d.ts"), [fileName], paramFile); diff --git a/scripts/importDefinitelyTypedTests/tsconfig.json b/scripts/importDefinitelyTypedTests/tsconfig.json deleted file mode 100644 index 30d589c119949..0000000000000 --- a/scripts/importDefinitelyTypedTests/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "ES5", - "outDir": "./", - "rootDir": ".", - "newLine": "lf", - "noImplicitAny": true, - "strictNullChecks": true, - "sourceMap": false - }, - "files": [ - "../typings/node/node.d.ts", - "importDefinitelyTypedTests.ts" - ], - "exclude": [ - ] -} \ No newline at end of file diff --git a/scripts/link-hooks.js b/scripts/link-hooks.js deleted file mode 100644 index 33b5d4fd94f3d..0000000000000 --- a/scripts/link-hooks.js +++ /dev/null @@ -1,20 +0,0 @@ -var fs = require("fs"); -var path = require("path"); - -var hooks = [ - "post-checkout" -]; - -hooks.forEach(function (hook) { - var hookInSourceControl = path.resolve(__dirname, "hooks", hook); - - if (fs.existsSync(hookInSourceControl)) { - var hookInHiddenDirectory = path.resolve(__dirname, "..", ".git", "hooks", hook); - - if (fs.existsSync(hookInHiddenDirectory)) { - fs.unlinkSync(hookInHiddenDirectory); - } - - fs.linkSync(hookInSourceControl, hookInHiddenDirectory); - } -}); \ No newline at end of file diff --git a/scripts/link-hooks.mjs b/scripts/link-hooks.mjs new file mode 100644 index 0000000000000..b60a308918ddd --- /dev/null +++ b/scripts/link-hooks.mjs @@ -0,0 +1,25 @@ +import fs from "fs"; +import path from "path"; +import url from "url"; +import { findUpRoot } from "./build/findUpDir.mjs"; + +const __filename = url.fileURLToPath(new URL(import.meta.url)); +const __dirname = path.dirname(__filename); + +const hooks = [ + "post-checkout" +]; + +hooks.forEach((hook) => { + const hookInSourceControl = path.resolve(__dirname, "hooks", hook); + + if (fs.existsSync(hookInSourceControl)) { + const hookInHiddenDirectory = path.resolve(findUpRoot(), ".git", "hooks", hook); + + if (fs.existsSync(hookInHiddenDirectory)) { + fs.unlinkSync(hookInHiddenDirectory); + } + + fs.linkSync(hookInSourceControl, hookInHiddenDirectory); + } +}); diff --git a/scripts/open-cherry-pick-pr.ts b/scripts/open-cherry-pick-pr.mjs similarity index 92% rename from scripts/open-cherry-pick-pr.ts rename to scripts/open-cherry-pick-pr.mjs index 8bce97f4e06b7..5402663b31bb1 100644 --- a/scripts/open-cherry-pick-pr.ts +++ b/scripts/open-cherry-pick-pr.mjs @@ -1,11 +1,11 @@ -/// -// Must reference esnext.asynciterable lib, since octokit uses AsyncIterable internally -/// - import { Octokit } from "@octokit/rest"; -import { runSequence } from "./run-sequence"; -import * as fs from "fs"; -import * as path from "path"; +import { runSequence } from "./run-sequence.mjs"; +import fs from "fs"; +import path from "path"; +import url from "url"; + +const __filename = url.fileURLToPath(new URL(import.meta.url)); +const __dirname = path.dirname(__filename); const userName = process.env.GH_USERNAME; const reviewers = process.env.REQUESTING_USER ? [process.env.REQUESTING_USER] : ["weswigham", "RyanCavanaugh"]; diff --git a/scripts/open-user-pr.ts b/scripts/open-user-pr.mjs similarity index 86% rename from scripts/open-user-pr.ts rename to scripts/open-user-pr.mjs index 314cd737771e6..5594fe763ef95 100644 --- a/scripts/open-user-pr.ts +++ b/scripts/open-user-pr.mjs @@ -1,12 +1,8 @@ -/// -/// -// Must reference esnext.asynciterable lib, since octokit uses AsyncIterable internally import { Octokit } from "@octokit/rest"; -import { runSequence } from "./run-sequence"; +import { runSequence } from "./run-sequence.mjs"; const userName = process.env.GH_USERNAME || "typescript-bot"; const reviewers = process.env.REQUESTING_USER ? [process.env.REQUESTING_USER] : ["weswigham", "sandersn", "RyanCavanaugh"]; -const now = new Date(); const masterBranchname = `user-baseline-updates`; const targetBranch = process.env.TARGET_BRANCH || "main"; const branchName = process.env.TARGET_FORK?.toLowerCase() === "microsoft" && (targetBranch === "main" || targetBranch === "refs/heads/main") @@ -22,7 +18,7 @@ runSequence([ ["node", ["./node_modules/gulp/bin/gulp.js", "baseline-accept"]], // accept baselines ["git", ["checkout", "-b", branchName]], // create a branch ["git", ["add", "."]], // Add all changes - ["git", ["commit", "-m", `"Update user baselines${+process.env.SOURCE_ISSUE! === 33716 ? " +cc @sandersn" : ""}"`]], // Commit all changes (ping nathan if we would post to CI thread) + ["git", ["commit", "-m", `"Update user baselines${+(process.env.SOURCE_ISSUE ?? 0) === 33716 ? " +cc @sandersn" : ""}"`]], // Commit all changes (ping nathan if we would post to CI thread) ["git", ["push", "--set-upstream", "fork", branchName, "-f"]] // push the branch ]); diff --git a/scripts/perf-result-post.js b/scripts/perf-result-post.mjs similarity index 86% rename from scripts/perf-result-post.js rename to scripts/perf-result-post.mjs index 337729128d261..e205db701fdb8 100644 --- a/scripts/perf-result-post.js +++ b/scripts/perf-result-post.mjs @@ -1,10 +1,8 @@ -// @ts-check -/// -// Must reference esnext.asynciterable lib, since octokit uses AsyncIterable internally -const { Octokit } = require("@octokit/rest"); -const fs = require("fs"); -const ado = require("azure-devops-node-api"); -const { default: fetch } = require("node-fetch"); +import { Octokit } from "@octokit/rest"; +import fs from "fs"; +import ado from "azure-devops-node-api"; +import fetch from "node-fetch"; +import assert from "assert"; async function main() { @@ -15,7 +13,7 @@ async function main() { if (!requester) throw new Error("REQUESTING_USER environment variable not set."); const buildId = process.env.BUILD_BUILDID; - if (!requester) throw new Error("BUILD_BUILDID environment variable not set."); + if (!buildId) throw new Error("BUILD_BUILDID environment variable not set."); const postedComment = process.env.STATUS_COMMENT; if (!postedComment) throw new Error("STATUS_COMMENT environment variable not set."); @@ -36,10 +34,11 @@ async function main() { const cli = new ado.WebApi("https://typescript.visualstudio.com/defaultcollection", ado.getHandlerFromToken("")); // Empty token, anon auth const build = await cli.getBuildApi(); const artifact = await build.getArtifact("typescript", +buildId, "benchmark"); + assert(artifact.resource?.url); const updatedUrl = new URL(artifact.resource.url); updatedUrl.search = `artifactName=benchmark&fileId=${artifact.resource.data}&fileName=manifest`; const resp = await (await fetch(`${updatedUrl}`)).json(); - for (const file of resp.items) { + for (const file of /** @type {any} */ (resp).items) { if (/[\\/]linux\.benchmark$/.test(file.path)) { const benchmarkUrl = new URL(artifact.resource.url); benchmarkUrl.search = `artifactName=benchmark&fileId=${file.blob.id}&fileName=linux.benchmark`; diff --git a/scripts/post-vsts-artifact-comment.js b/scripts/post-vsts-artifact-comment.mjs similarity index 88% rename from scripts/post-vsts-artifact-comment.js rename to scripts/post-vsts-artifact-comment.mjs index f0ffa2c4105ed..8c345c5842798 100644 --- a/scripts/post-vsts-artifact-comment.js +++ b/scripts/post-vsts-artifact-comment.mjs @@ -1,9 +1,7 @@ -// @ts-check -/// -// Must reference esnext.asynciterable lib, since octokit uses AsyncIterable internally -const { Octokit } = require("@octokit/rest"); -const ado = require("azure-devops-node-api"); -const { default: fetch } = require("node-fetch"); +import { Octokit } from "@octokit/rest"; +import assert from "assert"; +import ado from "azure-devops-node-api"; +import fetch from "node-fetch"; async function main() { if (!process.env.SOURCE_ISSUE) { @@ -16,10 +14,11 @@ async function main() { const cli = new ado.WebApi("https://typescript.visualstudio.com/defaultcollection", ado.getHandlerFromToken("")); // Empty token, anon auth const build = await cli.getBuildApi(); const artifact = await build.getArtifact("typescript", +process.env.BUILD_BUILDID, "tgz"); + assert(artifact.resource?.url); const updatedUrl = new URL(artifact.resource.url); updatedUrl.search = `artifactName=tgz&fileId=${artifact.resource.data}&fileName=manifest`; const resp = await (await fetch(`${updatedUrl}`)).json(); - const file = resp.items[0]; + const file = /** @type {any} */ (resp).items[0]; const tgzUrl = new URL(artifact.resource.url); tgzUrl.search = `artifactName=tgz&fileId=${file.blob.id}&fileName=${file.path}`; const link = "" + tgzUrl; diff --git a/scripts/processDiagnosticMessages.ts b/scripts/processDiagnosticMessages.mjs similarity index 69% rename from scripts/processDiagnosticMessages.ts rename to scripts/processDiagnosticMessages.mjs index 0ddc27b06f125..cddd618d03abe 100644 --- a/scripts/processDiagnosticMessages.ts +++ b/scripts/processDiagnosticMessages.mjs @@ -1,25 +1,29 @@ -import * as path from "path"; -import * as fs from "fs"; +import path from "path"; +import fs from "fs"; -interface DiagnosticDetails { +/** @typedef {{ category: string; code: number; reportsUnnecessary?: {}; reportsDeprecated?: {}; isEarly?: boolean; elidedInCompatabilityPyramid?: boolean; -} +}} DiagnosticDetails */ -type InputDiagnosticMessageTable = Map; +/** @typedef {Map} InputDiagnosticMessageTable */ -function main(): void { +function main() { if (process.argv.length < 3) { console.log("Usage:"); - console.log("\tnode processDiagnosticMessages.js "); + console.log("\tnode processDiagnosticMessages.mjs "); return; } - function writeFile(fileName: string, contents: string) { + /** + * @param {string} fileName + * @param {string} contents + */ + function writeFile(fileName, contents) { fs.writeFile(path.join(path.dirname(inputFilePath), fileName), contents, { encoding: "utf-8" }, err => { if (err) throw err; }); @@ -29,9 +33,11 @@ function main(): void { console.log(`Reading diagnostics from ${inputFilePath}`); const inputStr = fs.readFileSync(inputFilePath, { encoding: "utf-8" }); - const diagnosticMessagesJson: { [key: string]: DiagnosticDetails } = JSON.parse(inputStr); + /** @type {{ [key: string]: DiagnosticDetails }} */ + const diagnosticMessagesJson = JSON.parse(inputStr); - const diagnosticMessages: InputDiagnosticMessageTable = new Map(); + /** @type {InputDiagnosticMessageTable} */ + const diagnosticMessages = new Map(); for (const key in diagnosticMessagesJson) { if (Object.hasOwnProperty.call(diagnosticMessagesJson, key)) { diagnosticMessages.set(key, diagnosticMessagesJson[key]); @@ -49,8 +55,12 @@ function main(): void { writeFile("diagnosticMessages.generated.json", messageOutput); } -function checkForUniqueCodes(diagnosticTable: InputDiagnosticMessageTable) { - const allCodes: { [key: number]: true | undefined } = []; +/** + * @param {InputDiagnosticMessageTable} diagnosticTable + */ +function checkForUniqueCodes(diagnosticTable) { + /** @type {Record} */ + const allCodes = []; diagnosticTable.forEach(({ code }) => { if (allCodes[code]) { throw new Error(`Diagnostic code ${code} appears more than once.`); @@ -59,7 +69,13 @@ function checkForUniqueCodes(diagnosticTable: InputDiagnosticMessageTable) { }); } -function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable, inputFilePathRel: string, thisFilePathRel: string): string { +/** + * @param {InputDiagnosticMessageTable} messageTable + * @param {string} inputFilePathRel + * @param {string} thisFilePathRel + * @returns {string} + */ +function buildInfoFileOutput(messageTable, inputFilePathRel, thisFilePathRel) { let result = "// \r\n" + "// generated from '" + inputFilePathRel + "' in '" + thisFilePathRel.replace(/\\/g, "/") + "'\r\n" + @@ -83,27 +99,37 @@ function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable, inputFil return result; } -function buildDiagnosticMessageOutput(messageTable: InputDiagnosticMessageTable): string { - let result = "{"; +/** + * @param {InputDiagnosticMessageTable} messageTable + * @returns {string} + */ +function buildDiagnosticMessageOutput(messageTable) { + /** @type {Record} */ + const result = {}; + messageTable.forEach(({ code }, name) => { const propName = convertPropertyName(name); - result += `\r\n "${createKey(propName, code)}" : "${name.replace(/[\"]/g, '\\"')}",`; + result[createKey(propName, code)] = name; }); - // Shave trailing comma, then add newline and ending brace - result = result.slice(0, result.length - 1) + "\r\n}"; - - // Assert that we generated valid JSON - JSON.parse(result); - - return result; + return JSON.stringify(result, undefined, 2).replace(/\r?\n/g, "\r\n"); } -function createKey(name: string, code: number): string { +/** + * + * @param {string} name + * @param {number} code + * @returns {string} + */ +function createKey(name, code) { return name.slice(0, 100) + "_" + code; } -function convertPropertyName(origName: string): string { +/** + * @param {string} origName + * @returns {string} + */ +function convertPropertyName(origName) { let result = origName.split("").map(char => { if (char === "*") return "_Asterisk"; if (char === "/") return "_Slash"; diff --git a/scripts/produceLKG.ts b/scripts/produceLKG.mjs similarity index 80% rename from scripts/produceLKG.ts rename to scripts/produceLKG.mjs index e4e37df028e6f..6861f4f7d64c3 100644 --- a/scripts/produceLKG.ts +++ b/scripts/produceLKG.mjs @@ -1,9 +1,11 @@ -/// +import childProcess from "child_process"; +import fs from "fs-extra"; +import path from "path"; +import glob from "glob"; +import url from "url"; -import * as childProcess from "child_process"; -import * as fs from "fs-extra"; -import * as path from "path"; -import * as glob from "glob"; +const __filename = url.fileURLToPath(new URL(import.meta.url)); +const __dirname = path.dirname(__filename); const root = path.join(__dirname, ".."); const source = path.join(root, "built/local"); @@ -45,7 +47,7 @@ async function copyTypesMap() { } async function buildProtocol() { - const protocolScript = path.join(__dirname, "buildProtocol.js"); + const protocolScript = path.join(__dirname, "buildProtocol.mjs"); if (!fs.existsSync(protocolScript)) { throw new Error(`Expected protocol script ${protocolScript} to exist`); } @@ -80,16 +82,26 @@ async function writeGitAttributes() { await fs.writeFile(path.join(dest, ".gitattributes"), `* text eol=lf`, "utf-8"); } -async function copyWithCopyright(fileName: string, destName = fileName) { +/** + * @param {string} fileName + * @param {string} destName + */ +async function copyWithCopyright(fileName, destName = fileName) { const content = await fs.readFile(path.join(source, fileName), "utf-8"); await fs.writeFile(path.join(dest, destName), copyright + "\n" + content); } -async function copyFromBuiltLocal(fileName: string) { +/** + * @param {string} fileName + */ +async function copyFromBuiltLocal(fileName) { await fs.copy(path.join(source, fileName), path.join(dest, fileName)); } -async function copyFilesWithGlob(pattern: string) { +/** + * @param {string} pattern + */ +async function copyFilesWithGlob(pattern) { const files = glob.sync(pattern, { cwd: source }).map(f => path.basename(f)); for (const f of files) { await copyFromBuiltLocal(f); @@ -97,7 +109,11 @@ async function copyFilesWithGlob(pattern: string) { console.log(`Copied ${files.length} files matching pattern ${pattern}`); } -async function exec(path: string, args: string[] = []) { +/** + * @param {string} path + * @param {string[]} args + */ +async function exec(path, args = []) { const cmdLine = ["node", path, ...args].join(" "); console.log(cmdLine); childProcess.execSync(cmdLine); diff --git a/scripts/regenerate-unicode-identifier-parts.js b/scripts/regenerate-unicode-identifier-parts.mjs similarity index 93% rename from scripts/regenerate-unicode-identifier-parts.js rename to scripts/regenerate-unicode-identifier-parts.mjs index acc25914e4d26..60730b77e2509 100644 --- a/scripts/regenerate-unicode-identifier-parts.js +++ b/scripts/regenerate-unicode-identifier-parts.mjs @@ -1,6 +1,8 @@ const MAX_UNICODE_CODEPOINT = 0x10FFFF; +/** @type {(c: string) => boolean} */ const isStart = c => /[\p{ID_Start}\u{2118}\u{212E}\u{309B}\u{309C}]/u.test(c); // Other_ID_Start explicitly included for back compat - see http://www.unicode.org/reports/tr31/#Introduction +/** @type {(c: string) => boolean} */ const isPart = c => /[\p{ID_Continue}\u{00B7}\u{0387}\u{19DA}\u{1369}\u{136A}\u{136B}\u{136C}\u{136D}\u{136E}\u{136F}\u{1370}\u{1371}]/u.test(c) || isStart(c); // Likewise for Other_ID_Continue const parts = []; let partsActive = false; diff --git a/scripts/request-pr-review.ts b/scripts/request-pr-review.mjs similarity index 89% rename from scripts/request-pr-review.ts rename to scripts/request-pr-review.mjs index f8c993f19e728..51c9e90e786a6 100644 --- a/scripts/request-pr-review.ts +++ b/scripts/request-pr-review.mjs @@ -1,7 +1,5 @@ -/// -/// import { Octokit } from "@octokit/rest"; -import * as minimist from "minimist"; +import minimist from "minimist"; const options = minimist(process.argv.slice(2), { boolean: ["help"], @@ -55,7 +53,10 @@ async function main() { } } -function printHelpAndExit(exitCode: number) { +/** + * @param {number} exitCode + */ +function printHelpAndExit(exitCode) { console.log(` usage: request-pr-review.js [options] diff --git a/scripts/run-sequence.d.ts b/scripts/run-sequence.d.ts deleted file mode 100644 index fde899dde0d4d..0000000000000 --- a/scripts/run-sequence.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { SpawnSyncOptions } from "child_process"; - -export function runSequence(tasks: [string, string[]][], opts?: SpawnSyncOptions): string; diff --git a/scripts/run-sequence.js b/scripts/run-sequence.mjs similarity index 67% rename from scripts/run-sequence.js rename to scripts/run-sequence.mjs index 6f5828f0b79c8..910c9e5e5182d 100644 --- a/scripts/run-sequence.js +++ b/scripts/run-sequence.mjs @@ -1,10 +1,12 @@ -// @ts-check -const cp = require("child_process"); +import assert from "assert"; +import cp from "child_process"; + /** * @param {[string, string[]][]} tasks * @param {cp.SpawnSyncOptions} opts + * @returns {string} */ -function runSequence(tasks, opts = { timeout: 100000, shell: true }) { +export function runSequence(tasks, opts = { timeout: 100000, shell: true }) { let lastResult; for (const task of tasks) { console.log(`${task[0]} ${task[1].join(" ")}`); @@ -13,7 +15,7 @@ function runSequence(tasks, opts = { timeout: 100000, shell: true }) { console.log(result.stdout && result.stdout.toString()); lastResult = result; } - return lastResult && lastResult.stdout && lastResult.stdout.toString(); + const out = lastResult?.stdout?.toString(); + assert(out !== undefined); + return out; } - -exports.runSequence = runSequence; diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 54d4a43501403..dbda203c4fd00 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -1,15 +1,28 @@ { "compilerOptions": { + "lib": [ + "es2018" + ], + "module": "Node16", + "moduleResolution": "Node16", + "target": "es2018", + "noEmit": true, + // "declaration": true, + // "emitDeclarationOnly": true, + "strict": true, - "removeComments": false, - "declaration": false, - "sourceMap": true, - "newLine": "lf", - "target": "es6", - "module": "commonjs", - "types": ["node"], - "lib": ["es6", "scripthost"], + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "allowUnusedLabels": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "allowJs": true, + "checkJs": true }, - "include": ["*.ts"] + "include": [ + "**/*.mjs", "**/*.cjs" + ] } diff --git a/scripts/update-experimental-branches.js b/scripts/update-experimental-branches.mjs similarity index 93% rename from scripts/update-experimental-branches.js rename to scripts/update-experimental-branches.mjs index 2dfea45e89330..77ea19706b86f 100644 --- a/scripts/update-experimental-branches.js +++ b/scripts/update-experimental-branches.mjs @@ -1,7 +1,5 @@ -// @ts-check -/// -const { Octokit } = require("@octokit/rest"); -const { runSequence } = require("./run-sequence"); +import { Octokit } from "@octokit/rest"; +import { runSequence } from "./run-sequence.mjs"; // The first is used by bot-based kickoffs, the second by automatic triggers const triggeredPR = process.env.SOURCE_ISSUE || process.env.SYSTEM_PULLREQUEST_PULLREQUESTNUMBER; @@ -46,7 +44,7 @@ async function main() { const inputPR = await gh.pulls.get({ owner: "Microsoft", repo: "TypeScript", pull_number: num }); // GH calculates the rebaseable-ness of a PR into its target, so we can just use that here if (!inputPR.data.rebaseable) { - if (+triggeredPR === num) { + if (+(triggeredPR ?? 0) === num) { await gh.issues.createComment({ owner: "Microsoft", repo: "TypeScript", diff --git a/scripts/word.d.ts b/scripts/word.d.ts new file mode 100644 index 0000000000000..c9e7a56fabcba --- /dev/null +++ b/scripts/word.d.ts @@ -0,0 +1,122 @@ +declare namespace Word { + export interface Collection { + count: number; + item(index: number): T; + } + + export interface Font { + bold: boolean; + italic: boolean; + subscript: boolean; + superscript: boolean; + } + + export interface Find { + font: Font; + format: boolean; + replacement: Replacement; + style: any; + text: string; + clearFormatting(): void; + execute( + findText: string, + matchCase: boolean, + matchWholeWord: boolean, + matchWildcards: boolean, + matchSoundsLike: boolean, + matchAllWordForms: boolean, + forward: boolean, + wrap: number, + format: boolean, + replaceWith: string, + replace: number): boolean; + } + + export interface Replacement { + font: Font; + style: any; + text: string; + clearFormatting(): void; + } + + export interface ListFormat { + listLevelNumber: number; + listString: string; + } + + export interface Column { + } + + export interface Columns extends Collection { + } + + export interface Table { + columns: Columns; + } + + export interface Tables extends Collection { + } + + export interface Range { + find: Find; + listFormat: ListFormat; + tables: Tables; + text: string; + textRetrievalMode: { + includeHiddenText: boolean; + } + words: Ranges; + } + + export interface Ranges extends Collection { + } + + export interface Style { + nameLocal: string; + } + + export interface Paragraph { + alignment: number; + range: Range; + style: Style; + next(): Paragraph; + } + + export interface Paragraphs extends Collection { + first: Paragraph; + } + + export interface Field { + } + + export interface Fields extends Collection { + toggleShowCodes(): void; + } + + export interface Hyperlink { + address: string; + textToDisplay: string; + range: Range; + } + + export interface Hyperlinks extends Collection { + } + + export interface Document { + fields: Fields; + paragraphs: Paragraphs; + hyperlinks: Hyperlinks; + builtInDocumentProperties: Collection; + close(saveChanges: boolean): void; + range(): Range; + } + + export interface Documents extends Collection { + open(filename: string): Document; + } + + export interface Application { + documents: Documents; + quit(): void; + } +} diff --git a/scripts/word2md.ts b/scripts/word2md.mjs similarity index 69% rename from scripts/word2md.ts rename to scripts/word2md.mjs index 472699156bb8b..785bcf93f1475 100644 --- a/scripts/word2md.ts +++ b/scripts/word2md.mjs @@ -7,145 +7,32 @@ // as a command line argument and the resulting Markdown is written to standard output. The // tool recognizes the specific Word styles used in the TypeScript Language Specification. -namespace Word { - export interface Collection { - count: number; - item(index: number): T; - } - - export interface Font { - bold: boolean; - italic: boolean; - subscript: boolean; - superscript: boolean; - } - - export interface Find { - font: Font; - format: boolean; - replacement: Replacement; - style: any; - text: string; - clearFormatting(): void; - execute( - findText: string, - matchCase: boolean, - matchWholeWord: boolean, - matchWildcards: boolean, - matchSoundsLike: boolean, - matchAllWordForms: boolean, - forward: boolean, - wrap: number, - format: boolean, - replaceWith: string, - replace: number): boolean; - } - - export interface Replacement { - font: Font; - style: any; - text: string; - clearFormatting(): void; - } - - export interface ListFormat { - listLevelNumber: number; - listString: string; - } - - export interface Column { - } - - export interface Columns extends Collection { - } - - export interface Table { - columns: Columns; - } - - export interface Tables extends Collection
{ - } - - export interface Range { - find: Find; - listFormat: ListFormat; - tables: Tables; - text: string; - textRetrievalMode: { - includeHiddenText: boolean; - } - words: Ranges; - } - - export interface Ranges extends Collection { - } - - export interface Style { - nameLocal: string; - } - - export interface Paragraph { - alignment: number; - range: Range; - style: Style; - next(): Paragraph; - } - - export interface Paragraphs extends Collection { - first: Paragraph; - } - - export interface Field { - } - - export interface Fields extends Collection { - toggleShowCodes(): void; - } - - export interface Hyperlink { - address: string; - textToDisplay: string; - range: Range; - } - - export interface Hyperlinks extends Collection { - } - - export interface Document { - fields: Fields; - paragraphs: Paragraphs; - hyperlinks: Hyperlinks; - builtInDocumentProperties: Collection; - close(saveChanges: boolean): void; - range(): Range; - } - - export interface Documents extends Collection { - open(filename: string): Document; - } - - export interface Application { - documents: Documents; - quit(): void; - } -} - +/// +// eslint-disable-next-line @typescript-eslint/triple-slash-reference +/// + +/** @type {{ + args: string[]; + createObject: (typeName: string) => any; + write(s: string): void; + writeFile: (fileName: string, data: string) => void; +}} */ const sys = (() => { const fileStream = new ActiveXObject("ADODB.Stream"); fileStream.Type = 2 /* text */; const binaryStream = new ActiveXObject("ADODB.Stream"); binaryStream.Type = 1 /* binary */; - const args: string[] = []; + const args = []; for (let i = 0; i < WScript.Arguments.length; i++) { args[i] = WScript.Arguments.Item(i); } return { args, - createObject: (typeName: string) => new ActiveXObject(typeName), - write(s: string): void { + createObject: (typeName) => new ActiveXObject(typeName), + write(s) { WScript.StdOut.Write(s); }, - writeFile: (fileName: string, data: string): void => { + writeFile: (fileName, data) => { fileStream.Open(); binaryStream.Open(); try { @@ -165,25 +52,37 @@ const sys = (() => { }; })(); -interface FindReplaceOptions { +/** @typedef {{ style?: any; font?: { bold?: boolean; italic?: boolean; subscript?: boolean; }; -} - -function convertDocumentToMarkdown(doc: Word.Document): string { - - const columnAlignment: number[] = []; - let tableColumnCount: number; - let tableCellIndex: number; - let lastInTable: boolean; - let lastStyle: string; +}} FindReplaceOptions */ + +/** + * @param {Word.Document} doc + * @returns {string} + */ +function convertDocumentToMarkdown(doc) { + /** @type {number[]} */ + const columnAlignment = []; + /** @type {number} */ + let tableColumnCount; + /** @type {number} */ + let tableCellIndex; + /** @type {boolean} */ + let lastInTable; + /** @type {string} */ + let lastStyle; let result = ""; - function setProperties(target: any, properties: any) { + /** + * @param {any} target + * @param {any} properties + */ + function setProperties(target, properties) { for (const name in properties) { if (Object.prototype.hasOwnProperty.call(properties, name)) { const value = properties[name]; @@ -197,7 +96,13 @@ function convertDocumentToMarkdown(doc: Word.Document): string { } } - function findReplace(findText: string, findOptions: FindReplaceOptions, replaceText: string, replaceOptions: FindReplaceOptions) { + /** + * @param {string} findText + * @param {FindReplaceOptions} findOptions + * @param {string} replaceText + * @param {FindReplaceOptions} replaceOptions + */ + function findReplace(findText, findOptions, replaceText, replaceOptions) { const find = doc.range().find; find.clearFormatting(); setProperties(find, findOptions); @@ -230,7 +135,10 @@ function convertDocumentToMarkdown(doc: Word.Document): string { } } - function write(s: string) { + /** + * @param {string} s + */ + function write(s) { result += s; } @@ -250,7 +158,10 @@ function convertDocumentToMarkdown(doc: Word.Document): string { write("|\n"); } - function trimEndFormattingMarks(text: string) { + /** + * @param {string} text + */ + function trimEndFormattingMarks(text) { let i = text.length; while (i > 0 && text.charCodeAt(i - 1) < 0x20) i--; return text.substr(0, i); @@ -269,7 +180,10 @@ function convertDocumentToMarkdown(doc: Word.Document): string { } } - function writeParagraph(p: Word.Paragraph) { + /** + * @param {Word.Paragraph} p + */ + function writeParagraph(p) { const range = p.range; const inTable = range.tables.count > 0; @@ -408,12 +322,17 @@ function convertDocumentToMarkdown(doc: Word.Document): string { return result; } -function main(args: string[]) { +/** + * @param {string[]} args + */ +function main(args) { if (args.length !== 2) { sys.write("Syntax: word2md \n"); return; } - const app: Word.Application = sys.createObject("Word.Application"); + + /** @type {Word.Application} */ + const app = sys.createObject("Word.Application"); const doc = app.documents.open(args[0]); sys.writeFile(args[1], convertDocumentToMarkdown(doc)); doc.close(/* saveChanges */ false); diff --git a/src/compiler/builder.ts b/src/compiler/builder.ts index 6177713582859..c9001ed8a7d4d 100644 --- a/src/compiler/builder.ts +++ b/src/compiler/builder.ts @@ -173,10 +173,16 @@ namespace ts { const oldCompilerOptions = useOldState ? oldState!.compilerOptions : undefined; const canCopySemanticDiagnostics = useOldState && oldState!.semanticDiagnosticsPerFile && !!state.semanticDiagnosticsPerFile && !compilerOptionsAffectSemanticDiagnostics(compilerOptions, oldCompilerOptions!); + // We can only reuse emit signatures (i.e. .d.ts signatures) if the .d.ts file is unchanged, + // which will eg be depedent on change in options like declarationDir and outDir options are unchanged. + // We need to look in oldState.compilerOptions, rather than oldCompilerOptions (i.e.we need to disregard useOldState) because + // oldCompilerOptions can be undefined if there was change in say module from None to some other option + // which would make useOldState as false since we can now use reference maps that are needed to track what to emit, what to check etc + // but that option change does not affect d.ts file name so emitSignatures should still be reused. const canCopyEmitSignatures = compilerOptions.composite && oldState?.emitSignatures && !outFilePath && - !compilerOptionsAffectDeclarationPath(compilerOptions, oldCompilerOptions!); + !compilerOptionsAffectDeclarationPath(compilerOptions, oldState.compilerOptions); if (useOldState) { // Copy old state's changed files set oldState!.changedFilesSet?.forEach(value => state.changedFilesSet.add(value)); @@ -764,7 +770,7 @@ namespace ts { export type ProgramBuildInfoFileId = number & { __programBuildInfoFileIdBrand: any }; export type ProgramBuildInfoFileIdListId = number & { __programBuildInfoFileIdListIdBrand: any }; export type ProgramBuildInfoDiagnostic = ProgramBuildInfoFileId | [fileId: ProgramBuildInfoFileId, diagnostics: readonly ReusableDiagnostic[]]; - export type ProgramBuilderInfoFilePendingEmit = [fileId: ProgramBuildInfoFileId, emitKind: BuilderFileEmit]; + export type ProgramBuilderInfoFilePendingEmit = ProgramBuildInfoFileId | [fileId: ProgramBuildInfoFileId]; export type ProgramBuildInfoReferencedMap = [fileId: ProgramBuildInfoFileId, fileIdListId: ProgramBuildInfoFileIdListId][]; export type ProgramBuildInfoBuilderStateFileInfo = Omit & { /** @@ -917,7 +923,10 @@ namespace ts { const seenFiles = new Set(); for (const path of state.affectedFilesPendingEmit.slice(state.affectedFilesPendingEmitIndex).sort(compareStringsCaseSensitive)) { if (tryAddToSet(seenFiles, path)) { - (affectedFilesPendingEmit ||= []).push([toFileId(path), state.affectedFilesPendingEmitKind!.get(path)!]); + const fileId = toFileId(path), emitKind = state.affectedFilesPendingEmitKind!.get(path)!; + (affectedFilesPendingEmit ||= []).push( + emitKind === BuilderFileEmit.Full ? fileId : [fileId] + ); } } } @@ -1469,6 +1478,10 @@ namespace ts { { version: fileInfo.version, signature: fileInfo.signature === false ? undefined : fileInfo.version, affectsGlobalScope: fileInfo.affectsGlobalScope, impliedFormat: fileInfo.impliedFormat }; } + export function toBuilderFileEmit(value: ProgramBuilderInfoFilePendingEmit): BuilderFileEmit{ + return isNumber(value) ? BuilderFileEmit.Full : BuilderFileEmit.DtsOnly; + } + export function createBuilderProgramUsingProgramBuildInfo(program: ProgramBuildInfo, buildInfoPath: string, host: ReadBuildProgramHost): EmitAndSemanticDiagnosticsBuilderProgram { const buildInfoDirectory = getDirectoryPath(getNormalizedAbsolutePath(buildInfoPath, host.getCurrentDirectory())); const getCanonicalFileName = createGetCanonicalFileName(host.useCaseSensitiveFileNames()); @@ -1507,8 +1520,8 @@ namespace ts { exportedModulesMap: toManyToManyPathMap(program.exportedModulesMap), semanticDiagnosticsPerFile: program.semanticDiagnosticsPerFile && arrayToMap(program.semanticDiagnosticsPerFile, value => toFilePath(isNumber(value) ? value : value[0]), value => isNumber(value) ? emptyArray : value[1]), hasReusableDiagnostic: true, - affectedFilesPendingEmit: map(program.affectedFilesPendingEmit, value => toFilePath(value[0])), - affectedFilesPendingEmitKind: program.affectedFilesPendingEmit && arrayToMap(program.affectedFilesPendingEmit, value => toFilePath(value[0]), value => value[1]), + affectedFilesPendingEmit: map(program.affectedFilesPendingEmit, value => toFilePath(isNumber(value) ? value : value[0])), + affectedFilesPendingEmitKind: program.affectedFilesPendingEmit && arrayToMap(program.affectedFilesPendingEmit, value => toFilePath(isNumber(value) ? value : value[0]), toBuilderFileEmit), affectedFilesPendingEmitIndex: program.affectedFilesPendingEmit && 0, changedFilesSet: new Set(map(program.changeFileSet, toFilePath)), latestChangedDtsFile, diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 20d075cdfc07f..c4a19cb8e8c2d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -194,8 +194,6 @@ namespace ts { None = 0, Source = 1 << 0, Target = 1 << 1, - PropertyCheck = 1 << 2, - InPropertyCheck = 1 << 3, } const enum RecursionFlags { @@ -642,6 +640,11 @@ namespace ts { getOptionalType: () => optionalType, getPromiseType: () => getGlobalPromiseType(/*reportErrors*/ false), getPromiseLikeType: () => getGlobalPromiseLikeType(/*reportErrors*/ false), + getAsyncIterableType: () => { + const type = getGlobalAsyncIterableType(/*reportErrors*/ false); + if (type === emptyGenericType) return undefined; + return type; + }, isSymbolAccessible, isArrayType, isTupleType, @@ -1537,9 +1540,9 @@ namespace ts { return symbol; } if (symbol.flags & SymbolFlags.Alias) { - const target = resolveAlias(symbol); - // Unknown symbol means an error occurred in alias resolution, treat it as positive answer to avoid cascading errors - if (target === unknownSymbol || target.flags & meaning) { + const targetFlags = getAllSymbolFlags(symbol); + // `targetFlags` will be `SymbolFlags.All` if an error occurred in alias resolution; this avoids cascading errors + if (targetFlags & meaning) { return symbol; } } @@ -2226,8 +2229,8 @@ namespace ts { !checkAndReportErrorForExtendingInterface(errorLocation) && !checkAndReportErrorForUsingTypeAsNamespace(errorLocation, name, meaning) && !checkAndReportErrorForExportingPrimitiveType(errorLocation, name) && + !checkAndReportErrorForUsingNamespaceAsTypeOrValue(errorLocation, name, meaning) && !checkAndReportErrorForUsingTypeAsValue(errorLocation, name, meaning) && - !checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) && !checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) { let suggestion: Symbol | undefined; let suggestedLib: string | undefined; @@ -2320,7 +2323,7 @@ namespace ts { } } if (result && errorLocation && meaning & SymbolFlags.Value && result.flags & SymbolFlags.Alias && !(result.flags & SymbolFlags.Value) && !isValidTypeOnlyAliasUseSite(errorLocation)) { - const typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result); + const typeOnlyDeclaration = getTypeOnlyAliasDeclaration(result, SymbolFlags.Value); if (typeOnlyDeclaration) { const message = typeOnlyDeclaration.kind === SyntaxKind.ExportSpecifier ? Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type @@ -2515,7 +2518,7 @@ namespace ts { } function checkAndReportErrorForUsingTypeAsValue(errorLocation: Node, name: __String, meaning: SymbolFlags): boolean { - if (meaning & (SymbolFlags.Value & ~SymbolFlags.NamespaceModule)) { + if (meaning & SymbolFlags.Value) { if (isPrimitiveTypeName(name)) { if (isExtendedByInterface(errorLocation)) { error(errorLocation, Diagnostics.An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes, unescapeLeadingUnderscores(name)); @@ -2526,7 +2529,8 @@ namespace ts { return true; } const symbol = resolveSymbol(resolveName(errorLocation, name, SymbolFlags.Type & ~SymbolFlags.Value, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); - if (symbol && !(symbol.flags & SymbolFlags.NamespaceModule)) { + const allFlags = symbol && getAllSymbolFlags(symbol); + if (symbol && allFlags !== undefined && !(allFlags & SymbolFlags.Value)) { const rawName = unescapeLeadingUnderscores(name); if (isES2015OrLaterConstructorName(name)) { error(errorLocation, Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later, rawName); @@ -2577,9 +2581,9 @@ namespace ts { return false; } - function checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation: Node, name: __String, meaning: SymbolFlags): boolean { - if (meaning & (SymbolFlags.Value & ~SymbolFlags.NamespaceModule & ~SymbolFlags.Type)) { - const symbol = resolveSymbol(resolveName(errorLocation, name, SymbolFlags.NamespaceModule & ~SymbolFlags.Value, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); + function checkAndReportErrorForUsingNamespaceAsTypeOrValue(errorLocation: Node, name: __String, meaning: SymbolFlags): boolean { + if (meaning & (SymbolFlags.Value & ~SymbolFlags.Type)) { + const symbol = resolveSymbol(resolveName(errorLocation, name, SymbolFlags.NamespaceModule, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error( errorLocation, @@ -2588,8 +2592,8 @@ namespace ts { return true; } } - else if (meaning & (SymbolFlags.Type & ~SymbolFlags.NamespaceModule & ~SymbolFlags.Value)) { - const symbol = resolveSymbol(resolveName(errorLocation, name, (SymbolFlags.ValueModule | SymbolFlags.NamespaceModule) & ~SymbolFlags.Type, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); + else if (meaning & (SymbolFlags.Type & ~SymbolFlags.Value)) { + const symbol = resolveSymbol(resolveName(errorLocation, name, SymbolFlags.Module, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error(errorLocation, Diagnostics.Cannot_use_namespace_0_as_a_type, unescapeLeadingUnderscores(name)); return true; @@ -3237,6 +3241,54 @@ namespace ts { return undefined; } + /** + * Gets combined flags of a `symbol` and all alias targets it resolves to. `resolveAlias` + * is typically recursive over chains of aliases, but stops mid-chain if an alias is merged + * with another exported symbol, e.g. + * ```ts + * // a.ts + * export const a = 0; + * // b.ts + * export { a } from "./a"; + * export type a = number; + * // c.ts + * import { a } from "./b"; + * ``` + * Calling `resolveAlias` on the `a` in c.ts would stop at the merged symbol exported + * from b.ts, even though there is still more alias to resolve. Consequently, if we were + * trying to determine if the `a` in c.ts has a value meaning, looking at the flags on + * the local symbol and on the symbol returned by `resolveAlias` is not enough. + * @returns SymbolFlags.All if `symbol` is an alias that ultimately resolves to `unknown`; + * combined flags of all alias targets otherwise. + */ + function getAllSymbolFlags(symbol: Symbol): SymbolFlags { + let flags = symbol.flags; + let seenSymbols; + while (symbol.flags & SymbolFlags.Alias) { + const target = resolveAlias(symbol); + if (target === unknownSymbol) { + return SymbolFlags.All; + } + + // Optimizations - try to avoid creating or adding to + // `seenSymbols` if possible + if (target === symbol || seenSymbols?.has(target)) { + break; + } + if (target.flags & SymbolFlags.Alias) { + if (seenSymbols) { + seenSymbols.add(target); + } + else { + seenSymbols = new Set([symbol, target]); + } + } + flags |= target.flags; + symbol = target; + } + return flags; + } + /** * Marks a symbol as type-only if its declaration is syntactically type-only. * If it is not itself marked type-only, but resolves to a type-only alias @@ -3289,12 +3341,18 @@ namespace ts { } /** Indicates that a symbol directly or indirectly resolves to a type-only import or export. */ - function getTypeOnlyAliasDeclaration(symbol: Symbol): TypeOnlyAliasDeclaration | undefined { + function getTypeOnlyAliasDeclaration(symbol: Symbol, include?: SymbolFlags): TypeOnlyAliasDeclaration | undefined { if (!(symbol.flags & SymbolFlags.Alias)) { return undefined; } const links = getSymbolLinks(symbol); - return links.typeOnlyDeclaration || undefined; + if (include === undefined) { + return links.typeOnlyDeclaration || undefined; + } + if (links.typeOnlyDeclaration) { + return getAllSymbolFlags(resolveAlias(links.typeOnlyDeclaration.symbol)) & include ? links.typeOnlyDeclaration : undefined; + } + return undefined; } function markExportAsReferenced(node: ImportEqualsDeclaration | ExportSpecifier) { @@ -3302,7 +3360,7 @@ namespace ts { const target = resolveAlias(symbol); if (target) { const markAlias = target === unknownSymbol || - ((target.flags & SymbolFlags.Value) && !isConstEnumOrConstEnumOnlyModule(target) && !getTypeOnlyAliasDeclaration(symbol)); + ((getAllSymbolFlags(target) & SymbolFlags.Value) && !isConstEnumOrConstEnumOnlyModule(target) && !getTypeOnlyAliasDeclaration(symbol, SymbolFlags.Value)); if (markAlias) { markAliasSymbolAsReferenced(symbol); @@ -3323,8 +3381,7 @@ namespace ts { // This way a chain of imports can be elided if ultimately the final input is only used in a type // position. if (isInternalModuleImportEqualsDeclaration(node)) { - const target = resolveSymbol(symbol); - if (target === unknownSymbol || target.flags & SymbolFlags.Value) { + if (getAllSymbolFlags(resolveSymbol(symbol)) & SymbolFlags.Value) { // import foo = checkExpressionCached(node.moduleReference as Expression); } @@ -4250,7 +4307,7 @@ namespace ts { function symbolIsValue(symbol: Symbol, includeTypeOnlyMembers?: boolean): boolean { return !!( symbol.flags & SymbolFlags.Value || - symbol.flags & SymbolFlags.Alias && resolveAlias(symbol).flags & SymbolFlags.Value && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol))); + symbol.flags & SymbolFlags.Alias && getAllSymbolFlags(symbol) & SymbolFlags.Value && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol))); } function findConstructorDeclaration(node: ClassLikeDeclaration): ConstructorDeclaration | undefined { @@ -4544,8 +4601,10 @@ namespace ts { } // Qualify if the symbol from symbol table has same meaning as expected - symbolFromSymbolTable = (symbolFromSymbolTable.flags & SymbolFlags.Alias && !getDeclarationOfKind(symbolFromSymbolTable, SyntaxKind.ExportSpecifier)) ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; - if (symbolFromSymbolTable.flags & meaning) { + const shouldResolveAlias = (symbolFromSymbolTable.flags & SymbolFlags.Alias && !getDeclarationOfKind(symbolFromSymbolTable, SyntaxKind.ExportSpecifier)); + symbolFromSymbolTable = shouldResolveAlias ? resolveAlias(symbolFromSymbolTable) : symbolFromSymbolTable; + const flags = shouldResolveAlias ? getAllSymbolFlags(symbolFromSymbolTable) : symbolFromSymbolTable.flags; + if (flags & meaning) { qualify = true; return true; } @@ -7176,16 +7235,6 @@ namespace ts { return statements; } - function canHaveExportModifier(node: Statement): node is Extract { - return isEnumDeclaration(node) || - isVariableStatement(node) || - isFunctionDeclaration(node) || - isClassDeclaration(node) || - (isModuleDeclaration(node) && !isExternalModuleAugmentation(node) && !isGlobalScopeAugmentation(node)) || - isInterfaceDeclaration(node) || - isTypeDeclaration(node); - } - function addExportModifier(node: Extract) { const flags = (getEffectiveModifierFlags(node) | ModifierFlags.Export) & ~ModifierFlags.Ambient; return factory.updateModifiers(node, flags); @@ -7519,7 +7568,7 @@ namespace ts { } function isTypeOnlyNamespace(symbol: Symbol) { - return every(getNamespaceMembersForSerialization(symbol), m => !(resolveSymbol(m).flags & SymbolFlags.Value)); + return every(getNamespaceMembersForSerialization(symbol), m => !(getAllSymbolFlags(resolveSymbol(m)) & SymbolFlags.Value)); } function serializeModule(symbol: Symbol, symbolName: string, modifierFlags: ModifierFlags) { @@ -10017,7 +10066,7 @@ namespace ts { links.type = exportSymbol?.declarations && isDuplicatedCommonJSExport(exportSymbol.declarations) && symbol.declarations!.length ? getFlowTypeFromCommonJSExport(exportSymbol) : isDuplicatedCommonJSExport(symbol.declarations) ? autoType : declaredType ? declaredType - : targetSymbol.flags & SymbolFlags.Value ? getTypeOfSymbol(targetSymbol) + : getAllSymbolFlags(targetSymbol) & SymbolFlags.Value ? getTypeOfSymbol(targetSymbol) : errorType; } return links.type; @@ -12012,7 +12061,20 @@ namespace ts { } function isGenericMappedType(type: Type): type is MappedType { - return !!(getObjectFlags(type) & ObjectFlags.Mapped) && isGenericIndexType(getConstraintTypeFromMappedType(type as MappedType)); + if (getObjectFlags(type) & ObjectFlags.Mapped) { + const constraint = getConstraintTypeFromMappedType(type as MappedType); + if (isGenericIndexType(constraint)) { + return true; + } + // A mapped type is generic if the 'as' clause references generic types other than the iteration type. + // To determine this, we substitute the constraint type (that we now know isn't generic) for the iteration + // type and check whether the resulting type is generic. + const nameType = getNameTypeFromMappedType(type as MappedType); + if (nameType && isGenericIndexType(instantiateType(nameType, makeUnaryTypeMapper(getTypeParameterFromMappedType(type as MappedType), constraint)))) { + return true; + } + } + return false; } function resolveStructuredTypeMembers(type: StructuredType): ResolvedType { @@ -12510,7 +12572,7 @@ namespace ts { let indexTypes: Type[] | undefined; const isUnion = containingType.flags & TypeFlags.Union; // Flags we want to propagate to the result if they exist in all source symbols - let optionalFlag = isUnion ? SymbolFlags.None : SymbolFlags.Optional; + let optionalFlag: SymbolFlags | undefined; let syntheticFlag = CheckFlags.SyntheticMethod; let checkFlags = isUnion ? 0 : CheckFlags.Readonly; let mergedInstantiations = false; @@ -12520,11 +12582,14 @@ namespace ts { const prop = getPropertyOfType(type, name, skipObjectFunctionPropertyAugment); const modifiers = prop ? getDeclarationModifierFlagsFromSymbol(prop) : 0; if (prop) { - if (isUnion) { - optionalFlag |= (prop.flags & SymbolFlags.Optional); - } - else { - optionalFlag &= prop.flags; + if (prop.flags & SymbolFlags.ClassMember) { + optionalFlag ??= isUnion ? SymbolFlags.None : SymbolFlags.Optional; + if (isUnion) { + optionalFlag |= (prop.flags & SymbolFlags.Optional); + } + else { + optionalFlag &= prop.flags; + } } if (!singleProp) { singleProp = prop; @@ -12643,7 +12708,7 @@ namespace ts { propTypes.push(type); } addRange(propTypes, indexTypes); - const result = createSymbol(SymbolFlags.Property | optionalFlag, name, syntheticFlag | checkFlags); + const result = createSymbol(SymbolFlags.Property | (optionalFlag ?? 0), name, syntheticFlag | checkFlags); result.containingType = containingType; if (!hasNonUniformValueDeclaration && firstValueDeclaration) { result.valueDeclaration = firstValueDeclaration; @@ -15574,8 +15639,14 @@ namespace ts { return getStringLiteralType(text); } newTexts.push(text); - if (every(newTexts, t => t === "") && every(newTypes, t => !!(t.flags & TypeFlags.String))) { - return stringType; + if (every(newTexts, t => t === "")) { + if (every(newTypes, t => !!(t.flags & TypeFlags.String))) { + return stringType; + } + // Normalize `${Mapping}` into Mapping + if (newTypes.length === 1 && isPatternLiteralType(newTypes[0])) { + return newTypes[0]; + } } const id = `${getTypeListId(newTypes)}|${map(newTexts, t => t.length).join(",")}|${newTexts.join("")}`; let type = templateLiteralTypes.get(id); @@ -15634,11 +15705,13 @@ namespace ts { function getStringMappingType(symbol: Symbol, type: Type): Type { return type.flags & (TypeFlags.Union | TypeFlags.Never) ? mapType(type, t => getStringMappingType(symbol, t)) : - // Mapping> === Mapping - type.flags & TypeFlags.StringMapping && symbol === type.symbol ? type : - isGenericIndexType(type) || isPatternLiteralPlaceholderType(type) ? getStringMappingTypeForGenericType(symbol, isPatternLiteralPlaceholderType(type) && !(type.flags & TypeFlags.StringMapping) ? getTemplateLiteralType(["", ""], [type]) : type) : type.flags & TypeFlags.StringLiteral ? getStringLiteralType(applyStringMapping(symbol, (type as StringLiteralType).value)) : type.flags & TypeFlags.TemplateLiteral ? getTemplateLiteralType(...applyTemplateStringMapping(symbol, (type as TemplateLiteralType).texts, (type as TemplateLiteralType).types)) : + // Mapping> === Mapping + type.flags & TypeFlags.StringMapping && symbol === type.symbol ? type : + type.flags & (TypeFlags.Any | TypeFlags.String | TypeFlags.StringMapping) || isGenericIndexType(type) ? getStringMappingTypeForGenericType(symbol, type) : + // This handles Mapping<`${number}`> and Mapping<`${bigint}`> + isPatternLiteralPlaceholderType(type) ? getStringMappingTypeForGenericType(symbol, getTemplateLiteralType(["", ""], [type])) : type; } @@ -15936,11 +16009,12 @@ namespace ts { } function isPatternLiteralPlaceholderType(type: Type): boolean { - return !!(type.flags & (TypeFlags.Any | TypeFlags.String | TypeFlags.Number | TypeFlags.BigInt)) || !!(type.flags & TypeFlags.StringMapping && isPatternLiteralPlaceholderType((type as StringMappingType).type)); + return !!(type.flags & (TypeFlags.Any | TypeFlags.String | TypeFlags.Number | TypeFlags.BigInt)) || isPatternLiteralType(type); } function isPatternLiteralType(type: Type) { - return !!(type.flags & TypeFlags.TemplateLiteral) && every((type as TemplateLiteralType).types, isPatternLiteralPlaceholderType); + return !!(type.flags & TypeFlags.TemplateLiteral) && every((type as TemplateLiteralType).types, isPatternLiteralPlaceholderType) || + !!(type.flags & TypeFlags.StringMapping) && isPatternLiteralPlaceholderType((type as StringMappingType).type); } function isGenericType(type: Type): boolean { @@ -16288,11 +16362,7 @@ namespace ts { } } } - // We skip inference of the possible `infer` types unles the `extendsType` _is_ an infer type - // if it was, it's trivial to say that extendsType = checkType, however such a pattern is used to - // "reset" the type being build up during constraint calculation and avoid making an apparently "infinite" constraint - // so in those cases we refain from performing inference and retain the uninfered type parameter - if (!checkTypeInstantiable || !some(root.inferTypeParameters, t => t === extendsType)) { + if (!checkTypeInstantiable) { // We don't want inferences from constraints as they may cause us to eagerly resolve the // conditional type instead of deferring resolution. Also, we always want strict function // types rules (i.e. proper contravariance) for inferences. @@ -19026,7 +19096,7 @@ namespace ts { } } - const isPerformingCommonPropertyChecks = (relation !== comparableRelation || !(source.flags & TypeFlags.Union) && isLiteralType(source)) && + const isPerformingCommonPropertyChecks = (relation !== comparableRelation || isUnitType(source)) && !(intersectionState & IntersectionState.Target) && source.flags & (TypeFlags.Primitive | TypeFlags.Object | TypeFlags.Intersection) && source !== globalObjectType && target.flags & (TypeFlags.Object | TypeFlags.Intersection) && isWeakType(target) && @@ -19053,31 +19123,9 @@ namespace ts { const skipCaching = source.flags & TypeFlags.Union && (source as UnionType).types.length < 4 && !(target.flags & TypeFlags.Union) || target.flags & TypeFlags.Union && (target as UnionType).types.length < 4 && !(source.flags & TypeFlags.StructuredOrInstantiable); - let result = skipCaching ? + const result = skipCaching ? unionOrIntersectionRelatedTo(source, target, reportErrors, intersectionState) : recursiveTypeRelatedTo(source, target, reportErrors, intersectionState, recursionFlags); - // For certain combinations involving intersections and optional, excess, or mismatched properties we need - // an extra property check where the intersection is viewed as a single object. The following are motivating - // examples that all should be errors, but aren't without this extra property check: - // - // let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property - // - // declare let wrong: { a: { y: string } }; - // let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type - // - // function foo(x: { a?: string }, y: T & { a: boolean }) { - // x = y; // Mismatched property in source intersection - // } - // - // We suppress recursive intersection property checks because they can generate lots of work when relating - // recursive intersections that are structurally similar but not exactly identical. See #37854. - if (result && !inPropertyCheck && ( - target.flags & TypeFlags.Intersection && (isPerformingExcessPropertyChecks || isPerformingCommonPropertyChecks) || - isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & TypeFlags.Intersection && getApparentType(source).flags & TypeFlags.StructuredType && !some((source as IntersectionType).types, t => !!(getObjectFlags(t) & ObjectFlags.NonInferrableType)))) { - inPropertyCheck = true; - result &= recursiveTypeRelatedTo(source, target, reportErrors, IntersectionState.PropertyCheck, recursionFlags); - inPropertyCheck = false; - } if (result) { return result; } @@ -19481,8 +19529,7 @@ namespace ts { if (overflow) { return Ternary.False; } - const keyIntersectionState = intersectionState | (inPropertyCheck ? IntersectionState.InPropertyCheck : 0); - const id = getRelationKey(source, target, keyIntersectionState, relation, /*ingnoreConstraints*/ false); + const id = getRelationKey(source, target, intersectionState, relation, /*ingnoreConstraints*/ false); const entry = relation.get(id); if (entry !== undefined) { if (reportErrors && entry & RelationComparisonResult.Failed && !(entry & RelationComparisonResult.Reported)) { @@ -19512,7 +19559,7 @@ namespace ts { // A key that starts with "*" is an indication that we have type references that reference constrained // type parameters. For such keys we also check against the key we would have gotten if all type parameters // were unconstrained. - const broadestEquivalentId = id.startsWith("*") ? getRelationKey(source, target, keyIntersectionState, relation, /*ignoreConstraints*/ true) : undefined; + const broadestEquivalentId = id.startsWith("*") ? getRelationKey(source, target, intersectionState, relation, /*ignoreConstraints*/ true) : undefined; for (let i = 0; i < maybeCount; i++) { // If source and target are already being compared, consider them related with assumptions if (id === maybeKeys[i] || broadestEquivalentId && broadestEquivalentId === maybeKeys[i]) { @@ -19600,7 +19647,7 @@ namespace ts { function structuredTypeRelatedTo(source: Type, target: Type, reportErrors: boolean, intersectionState: IntersectionState): Ternary { const saveErrorInfo = captureErrorCalculationState(); let result = structuredTypeRelatedToWorker(source, target, reportErrors, intersectionState, saveErrorInfo); - if (!result && (source.flags & TypeFlags.Intersection || source.flags & TypeFlags.TypeParameter && target.flags & TypeFlags.Union)) { + if (relation !== identityRelation) { // The combined constraint of an intersection type is the intersection of the constraints of // the constituents. When an intersection type contains instantiable types with union type // constraints, there are situations where we need to examine the combined constraint. One is @@ -19614,10 +19661,34 @@ namespace ts { // needs to have its constraint hoisted into an intersection with said type parameter, this way // the type param can be compared with itself in the target (with the influence of its constraint to match other parts) // For example, if `T extends 1 | 2` and `U extends 2 | 3` and we compare `T & U` to `T & U & (1 | 2 | 3)` - const constraint = getEffectiveConstraintOfIntersection(source.flags & TypeFlags.Intersection ? (source as IntersectionType).types: [source], !!(target.flags & TypeFlags.Union)); - if (constraint && !(constraint.flags & TypeFlags.Never) && everyType(constraint, c => c !== source)) { // Skip comparison if expansion contains the source itself - // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this - result = isRelatedTo(constraint, target, RecursionFlags.Source, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); + if (!result && (source.flags & TypeFlags.Intersection || source.flags & TypeFlags.TypeParameter && target.flags & TypeFlags.Union)) { + const constraint = getEffectiveConstraintOfIntersection(source.flags & TypeFlags.Intersection ? (source as IntersectionType).types: [source], !!(target.flags & TypeFlags.Union)); + if (constraint && everyType(constraint, c => c !== source)) { // Skip comparison if expansion contains the source itself + // TODO: Stack errors so we get a pyramid for the "normal" comparison above, _and_ a second for this + result = isRelatedTo(constraint, target, RecursionFlags.Source, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState); + } + } + // For certain combinations involving intersections and optional, excess, or mismatched properties we need + // an extra property check where the intersection is viewed as a single object. The following are motivating + // examples that all should be errors, but aren't without this extra property check: + // + // let obj: { a: { x: string } } & { c: number } = { a: { x: 'hello', y: 2 }, c: 5 }; // Nested excess property + // + // declare let wrong: { a: { y: string } }; + // let weak: { a?: { x?: number } } & { c?: string } = wrong; // Nested weak object type + // + // function foo(x: { a?: string }, y: T & { a: boolean }) { + // x = y; // Mismatched property in source intersection + // } + // + // We suppress recursive intersection property checks because they can generate lots of work when relating + // recursive intersections that are structurally similar but not exactly identical. See #37854. + if (result && !inPropertyCheck && ( + target.flags & TypeFlags.Intersection && !isGenericObjectType(target) && source.flags & (TypeFlags.Object | TypeFlags.Intersection) || + isNonGenericObjectType(target) && !isArrayOrTupleType(target) && source.flags & TypeFlags.Intersection && getApparentType(source).flags & TypeFlags.StructuredType && !some((source as IntersectionType).types, t => !!(getObjectFlags(t) & ObjectFlags.NonInferrableType)))) { + inPropertyCheck = true; + result &= propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, IntersectionState.None); + inPropertyCheck = false; } } if (result) { @@ -19627,9 +19698,6 @@ namespace ts { } function structuredTypeRelatedToWorker(source: Type, target: Type, reportErrors: boolean, intersectionState: IntersectionState, saveErrorInfo: ReturnType): Ternary { - if (intersectionState & IntersectionState.PropertyCheck) { - return propertiesRelatedTo(source, target, reportErrors, /*excludedProperties*/ undefined, IntersectionState.None); - } let result: Ternary; let originalErrorInfo: DiagnosticMessageChain | undefined; let varianceCheckFailed = false; @@ -19734,7 +19802,7 @@ namespace ts { // with another type parameter unless one extends the other. (Remember: comparability is mostly bidirectional!) let constraint = getConstraintOfTypeParameter(source); if (constraint && hasNonCircularBaseConstraint(source)) { - while (constraint && constraint.flags & TypeFlags.TypeParameter) { + while (constraint && someType(constraint, c => !!(c.flags & TypeFlags.TypeParameter))) { if (result = isRelatedTo(constraint, target, RecursionFlags.Source, /*reportErrors*/ false)) { return result; } @@ -20399,7 +20467,7 @@ namespace ts { return Ternary.False; } // When checking for comparability, be more lenient with optional properties. - if (!skipOptional && sourceProp.flags & SymbolFlags.Optional && !(targetProp.flags & SymbolFlags.Optional)) { + if (!skipOptional && sourceProp.flags & SymbolFlags.Optional && targetProp.flags & SymbolFlags.ClassMember && !(targetProp.flags & SymbolFlags.Optional)) { // TypeScript 1.0 spec (April 2014): 3.8.3 // S is a subtype of a type T, and T is a supertype of S if ... // S' and T are object types and, for each member M in T.. @@ -21562,8 +21630,7 @@ namespace ts { } function isUnitLikeType(type: Type): boolean { - return type.flags & TypeFlags.Intersection ? some((type as IntersectionType).types, isUnitType) : - !!(type.flags & TypeFlags.Unit); + return isUnitType(getBaseConstraintOrType(type)); } function extractUnitType(type: Type) { @@ -22495,7 +22562,7 @@ namespace ts { } function isMemberOfStringMapping(source: Type, target: Type): boolean { - if (target.flags & (TypeFlags.String | TypeFlags.AnyOrUnknown)) { + if (target.flags & (TypeFlags.String | TypeFlags.Any)) { return true; } if (target.flags & TypeFlags.TemplateLiteral) { @@ -24423,6 +24490,7 @@ namespace ts { } function getExplicitTypeOfSymbol(symbol: Symbol, diagnostic?: Diagnostic) { + symbol = resolveSymbol(symbol); if (symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.ValueModule)) { return getTypeOfSymbol(symbol); } @@ -24462,7 +24530,7 @@ namespace ts { switch (node.kind) { case SyntaxKind.Identifier: const symbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(node as Identifier)); - return getExplicitTypeOfSymbol(symbol.flags & SymbolFlags.Alias ? resolveAlias(symbol) : symbol, diagnostic); + return getExplicitTypeOfSymbol(symbol, diagnostic); case SyntaxKind.ThisKeyword: return getExplicitThisType(node); case SyntaxKind.SuperKeyword: @@ -24969,7 +25037,7 @@ namespace ts { type = narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } else if (expr.kind === SyntaxKind.TypeOfExpression && isMatchingReference(reference, (expr as TypeOfExpression).expression)) { - type = narrowBySwitchOnTypeOf(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); + type = narrowTypeBySwitchOnTypeOf(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); } else { if (strictNullChecks) { @@ -25261,7 +25329,7 @@ namespace ts { !!getApplicableIndexInfoForName(type, propName) || !assumeTrue; } - function narrowByInKeyword(type: Type, nameType: StringLiteralType | NumberLiteralType | UniqueESSymbolType, assumeTrue: boolean) { + function narrowTypeByInKeyword(type: Type, nameType: StringLiteralType | NumberLiteralType | UniqueESSymbolType, assumeTrue: boolean) { const name = getPropertyNameFromType(nameType); const isKnownProperty = someType(type, t => isTypePresencePossible(t, name, /*assumeTrue*/ true)); if (isKnownProperty) { @@ -25343,7 +25411,7 @@ namespace ts { return getTypeWithFacts(type, assumeTrue ? TypeFacts.NEUndefined : TypeFacts.EQUndefined); } if (isMatchingReference(reference, target)) { - return narrowByInKeyword(type, leftType as StringLiteralType | NumberLiteralType | UniqueESSymbolType, assumeTrue); + return narrowTypeByInKeyword(type, leftType as StringLiteralType | NumberLiteralType | UniqueESSymbolType, assumeTrue); } } break; @@ -25543,7 +25611,7 @@ namespace ts { neverType); } - function narrowBySwitchOnTypeOf(type: Type, switchStatement: SwitchStatement, clauseStart: number, clauseEnd: number): Type { + function narrowTypeBySwitchOnTypeOf(type: Type, switchStatement: SwitchStatement, clauseStart: number, clauseEnd: number): Type { const witnesses = getSwitchClauseTypeOfWitnesses(switchStatement); if (!witnesses) { return type; @@ -25965,15 +26033,15 @@ namespace ts { } function markAliasReferenced(symbol: Symbol, location: Node) { - if (isNonLocalAlias(symbol, /*excludes*/ SymbolFlags.Value) && !isInTypeQuery(location) && !getTypeOnlyAliasDeclaration(symbol)) { + if (isNonLocalAlias(symbol, /*excludes*/ SymbolFlags.Value) && !isInTypeQuery(location) && !getTypeOnlyAliasDeclaration(symbol, SymbolFlags.Value)) { const target = resolveAlias(symbol); - if (target.flags & SymbolFlags.Value) { + if (getAllSymbolFlags(target) & (SymbolFlags.Value | SymbolFlags.ExportValue)) { // An alias resolving to a const enum cannot be elided if (1) 'isolatedModules' is enabled // (because the const enum value will not be inlined), or if (2) the alias is an export // of a const enum declaration that will be preserved. if (compilerOptions.isolatedModules || shouldPreserveConstEnums(compilerOptions) && isExportOrExportExpression(location) || - !isConstEnumOrConstEnumOnlyModule(target) + !isConstEnumOrConstEnumOnlyModule(getExportSymbolOfValueSymbolIfExported(target)) ) { markAliasSymbolAsReferenced(symbol); } @@ -26222,7 +26290,7 @@ namespace ts { // We only look for uninitialized variables in strict null checking mode, and only when we can analyze // the entire control flow graph from the variable's declaration (i.e. when the flow container and // declaration container are the same). - const assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || isBindingElement(declaration) || + const assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || isSameScopedBindingElement(node, declaration) || type !== autoType && type !== autoArrayType && (!strictNullChecks || (type.flags & (TypeFlags.AnyOrUnknown | TypeFlags.Void)) !== 0 || isInTypeQuery(node) || node.parent.kind === SyntaxKind.ExportSpecifier) || node.parent.kind === SyntaxKind.NonNullExpression || @@ -26252,6 +26320,13 @@ namespace ts { return assignmentKind ? getBaseTypeOfLiteralType(flowType) : flowType; } + function isSameScopedBindingElement(node: Identifier, declaration: Declaration) { + if (isBindingElement(declaration)) { + const bindingElement = findAncestor(node, isBindingElement); + return bindingElement && getRootDeclaration(bindingElement) === getRootDeclaration(declaration); + } + } + function shouldMarkIdentifierAliasReferenced(node: Identifier): boolean { const parent = node.parent; if (parent) { @@ -26632,13 +26707,16 @@ namespace ts { const immediateContainer = getSuperContainer(node, /*stopOnFunctions*/ true); let container = immediateContainer; let needToCaptureLexicalThis = false; + let inAsyncFunction = false; // adjust the container reference in case if super is used inside arrow functions with arbitrarily deep nesting if (!isCallExpression) { while (container && container.kind === SyntaxKind.ArrowFunction) { + if (hasSyntacticModifier(container, ModifierFlags.Async)) inAsyncFunction = true; container = getSuperContainer(container, /*stopOnFunctions*/ true); needToCaptureLexicalThis = languageVersion < ScriptTarget.ES2015; } + if (container && hasSyntacticModifier(container, ModifierFlags.Async)) inAsyncFunction = true; } const canUseSuperExpression = isLegalUsageOfSuperExpression(container); @@ -26750,12 +26828,12 @@ namespace ts { // as a call expression cannot be used as the target of a destructuring assignment while a property access can. // // For element access expressions (`super[x]`), we emit a generic helper that forwards the element access in both situations. - if (container.kind === SyntaxKind.MethodDeclaration && hasSyntacticModifier(container, ModifierFlags.Async)) { + if (container.kind === SyntaxKind.MethodDeclaration && inAsyncFunction) { if (isSuperProperty(node.parent) && isAssignmentTarget(node.parent)) { - getNodeLinks(container).flags |= NodeCheckFlags.AsyncMethodWithSuperBinding; + getNodeLinks(container).flags |= NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync; } else { - getNodeLinks(container).flags |= NodeCheckFlags.AsyncMethodWithSuper; + getNodeLinks(container).flags |= NodeCheckFlags.MethodWithSuperPropertyAccessInAsync; } } @@ -27532,9 +27610,10 @@ namespace ts { function instantiateContextualType(contextualType: Type | undefined, node: Node, contextFlags: ContextFlags | undefined): Type | undefined { if (contextualType && maybeTypeOfKind(contextualType, TypeFlags.Instantiable)) { const inferenceContext = getInferenceContext(node); - // If no inferences have been made, nothing is gained from instantiating as type parameters - // would just be replaced with their defaults similar to the apparent type. - if (inferenceContext && contextFlags! & ContextFlags.Signature && some(inferenceContext.inferences, hasInferenceCandidates)) { + // If no inferences have been made, and none of the type parameters for which we are inferring + // specify default types, nothing is gained from instantiating as type parameters would just be + // replaced with their constraints similar to the apparent type. + if (inferenceContext && contextFlags! & ContextFlags.Signature && some(inferenceContext.inferences, hasInferenceCandidatesOrDefault)) { // For contextual signatures we incorporate all inferences made so far, e.g. from return // types as well as arguments to the left in a function call. return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper); @@ -32514,7 +32593,7 @@ namespace ts { if (symbol && symbol.flags & SymbolFlags.Alias) { symbol = resolveAlias(symbol); } - return !!(symbol && (symbol.flags & SymbolFlags.Enum) && getEnumKind(symbol) === EnumKind.Literal); + return !!(symbol && (getAllSymbolFlags(symbol) & SymbolFlags.Enum) && getEnumKind(symbol) === EnumKind.Literal); } return false; } @@ -33241,7 +33320,17 @@ namespace ts { function isExhaustiveSwitchStatement(node: SwitchStatement): boolean { const links = getNodeLinks(node); - return links.isExhaustive !== undefined ? links.isExhaustive : (links.isExhaustive = computeExhaustiveSwitchStatement(node)); + if (links.isExhaustive === undefined) { + links.isExhaustive = 0; // Indicate resolution is in process + const exhaustive = computeExhaustiveSwitchStatement(node); + if (links.isExhaustive === 0) { + links.isExhaustive = exhaustive; + } + } + else if (links.isExhaustive === 0) { + links.isExhaustive = false; // Resolve circularity to false + } + return links.isExhaustive; } function computeExhaustiveSwitchStatement(node: SwitchStatement): boolean { @@ -33250,7 +33339,7 @@ namespace ts { if (!witnesses) { return false; } - const operandConstraint = getBaseConstraintOrType(getTypeOfExpression((node.expression as TypeOfExpression).expression)); + const operandConstraint = getBaseConstraintOrType(checkExpressionCached((node.expression as TypeOfExpression).expression)); // Get the not-equal flags for all handled cases. const notEqualFacts = getNotEqualFactsFromTypeofSwitch(0, 0, witnesses); if (operandConstraint.flags & TypeFlags.AnyOrUnknown) { @@ -33260,7 +33349,7 @@ namespace ts { // A missing not-equal flag indicates that the type wasn't handled by some case. return !someType(operandConstraint, t => (getTypeFacts(t) & notEqualFacts) === notEqualFacts); } - const type = getTypeOfExpression(node.expression); + const type = checkExpressionCached(node.expression); if (!isLiteralType(type)) { return false; } @@ -35145,6 +35234,10 @@ namespace ts { return !!(info.candidates || info.contraCandidates); } + function hasInferenceCandidatesOrDefault(info: InferenceInfo) { + return !!(info.candidates || info.contraCandidates || hasTypeParameterDefault(info.typeParameter)); + } + function hasOverlappingInferences(a: InferenceInfo[], b: InferenceInfo[]) { for (let i = 0; i < a.length; i++) { if (hasInferenceCandidates(a[i]) && hasInferenceCandidates(b[i])) { @@ -36902,7 +36995,7 @@ namespace ts { } // primitives with a `{ then() }` won't be unwrapped/adopted. - if (allTypesAssignableToKind(type, TypeFlags.Primitive | TypeFlags.Never)) { + if (allTypesAssignableToKind(getBaseConstraintOrType(type), TypeFlags.Primitive | TypeFlags.Never)) { return undefined; } @@ -36977,7 +37070,7 @@ namespace ts { * Determines whether a type is an object with a callable `then` member. */ function isThenableType(type: Type): boolean { - if (allTypesAssignableToKind(type, TypeFlags.Primitive | TypeFlags.Never)) { + if (allTypesAssignableToKind(getBaseConstraintOrType(type), TypeFlags.Primitive | TypeFlags.Never)) { // primitive types cannot be considered "thenable" since they are not objects. return false; } @@ -37021,7 +37114,7 @@ namespace ts { // We only need `Awaited` if `T` is a type variable that has no base constraint, or the base constraint of `T` is `any`, `unknown`, `{}`, `object`, // or is promise-like. if (baseConstraint ? - baseConstraint.flags & TypeFlags.AnyOrUnknown || isEmptyObjectType(baseConstraint) || isThenableType(baseConstraint) : + baseConstraint.flags & TypeFlags.AnyOrUnknown || isEmptyObjectType(baseConstraint) || someType(baseConstraint, isThenableType) : maybeTypeOfKind(type, TypeFlags.TypeVariable)) { return true; } @@ -39370,7 +39463,18 @@ namespace ts { const message = allowAsyncIterables ? Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator : Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator; - return errorAndMaybeSuggestAwait(errorNode, !!getAwaitedTypeOfPromise(type), message, typeToString(type)); + const suggestAwait = + // for (const x of Promise<...>) or [...Promise<...>] + !!getAwaitedTypeOfPromise(type) + // for (const x of AsyncIterable<...>) + || ( + !allowAsyncIterables && + isForOfStatement(errorNode.parent) && + errorNode.parent.expression === errorNode && + getGlobalAsyncIterableType(/** reportErrors */ false) !== emptyGenericType && + isTypeAssignableTo(type, getGlobalAsyncIterableType(/** reportErrors */ false) + )); + return errorAndMaybeSuggestAwait(errorNode, suggestAwait, message, typeToString(type)); } /** @@ -40032,7 +40136,7 @@ namespace ts { } } else { - forEach(jsdocParameters, ({ name }, index) => { + forEach(jsdocParameters, ({ name, isNameFirst }, index) => { if (excludedParameters.has(index) || isIdentifier(name) && parameters.has(name.escapedText)) { return; } @@ -40042,7 +40146,9 @@ namespace ts { } } else { - errorOrSuggestion(isJs, name, Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, idText(name)); + if (!isNameFirst) { + errorOrSuggestion(isJs, name, Diagnostics.JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name, idText(name)); + } } }); } @@ -41318,18 +41424,6 @@ namespace ts { if (isGlobalAugmentation) { return; } - const symbol = getSymbolOfNode(node); - if (symbol) { - // module augmentations cannot introduce new names on the top level scope of the module - // this is done it two steps - // 1. quick check - if symbol for node is not merged - this is local symbol to this augmentation - report error - // 2. main check - report error if value declaration of the parent symbol is module augmentation) - let reportError = !(symbol.flags & SymbolFlags.Transient); - if (!reportError) { - // symbol should not originate in augmentation - reportError = !!symbol.parent?.declarations && isExternalModuleAugmentation(symbol.parent.declarations[0]); - } - } break; } } @@ -41444,11 +41538,12 @@ namespace ts { return; } + const targetFlags = getAllSymbolFlags(target); const excludedMeanings = (symbol.flags & (SymbolFlags.Value | SymbolFlags.ExportValue) ? SymbolFlags.Value : 0) | (symbol.flags & SymbolFlags.Type ? SymbolFlags.Type : 0) | (symbol.flags & SymbolFlags.Namespace ? SymbolFlags.Namespace : 0); - if (target.flags & excludedMeanings) { + if (targetFlags & excludedMeanings) { const message = node.kind === SyntaxKind.ExportSpecifier ? Diagnostics.Export_declaration_conflicts_with_exported_declaration_of_0 : Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0; @@ -41459,7 +41554,7 @@ namespace ts { && !isTypeOnlyImportOrExportDeclaration(node) && !(node.flags & NodeFlags.Ambient)) { const typeOnlyAlias = getTypeOnlyAliasDeclaration(symbol); - const isType = !(target.flags & SymbolFlags.Value); + const isType = !(targetFlags & SymbolFlags.Value); if (isType || typeOnlyAlias) { switch (node.kind) { case SyntaxKind.ImportClause: @@ -41637,14 +41732,15 @@ namespace ts { if (node.moduleReference.kind !== SyntaxKind.ExternalModuleReference) { const target = resolveAlias(getSymbolOfNode(node)); if (target !== unknownSymbol) { - if (target.flags & SymbolFlags.Value) { + const targetFlags = getAllSymbolFlags(target); + if (targetFlags & SymbolFlags.Value) { // Target is a value symbol, check that it is not hidden by a local declaration with the same name const moduleName = getFirstIdentifier(node.moduleReference); if (!(resolveEntityName(moduleName, SymbolFlags.Value | SymbolFlags.Namespace)!.flags & SymbolFlags.Namespace)) { error(moduleName, Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, declarationNameToString(moduleName)); } } - if (target.flags & SymbolFlags.Type) { + if (targetFlags & SymbolFlags.Type) { checkTypeNameIsReserved(node.name, Diagnostics.Import_name_cannot_be_0); } } @@ -41795,7 +41891,7 @@ namespace ts { markExportAsReferenced(node); } const target = symbol && (symbol.flags & SymbolFlags.Alias ? resolveAlias(symbol) : symbol); - if (!target || target === unknownSymbol || target.flags & SymbolFlags.Value) { + if (!target || getAllSymbolFlags(target) & SymbolFlags.Value) { checkExpressionCached(node.propertyName || node.name); } } @@ -41847,7 +41943,7 @@ namespace ts { markAliasReferenced(sym, id); // If not a value, we're interpreting the identifier as a type export, along the lines of (`export { Id as default }`) const target = sym.flags & SymbolFlags.Alias ? resolveAlias(sym) : sym; - if (target === unknownSymbol || target.flags & SymbolFlags.Value) { + if (getAllSymbolFlags(target) & SymbolFlags.Value) { // However if it is a value, we need to check it's being used correctly checkExpressionCached(node.expression); } @@ -42583,27 +42679,6 @@ namespace ts { getNameOfDeclaration(name.parent) === name; } - function isTypeDeclaration(node: Node): node is TypeParameterDeclaration | ClassDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTypedefTag | JSDocCallbackTag | JSDocEnumTag | EnumDeclaration | ImportClause | ImportSpecifier | ExportSpecifier { - switch (node.kind) { - case SyntaxKind.TypeParameter: - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.TypeAliasDeclaration: - case SyntaxKind.EnumDeclaration: - case SyntaxKind.JSDocTypedefTag: - case SyntaxKind.JSDocCallbackTag: - case SyntaxKind.JSDocEnumTag: - return true; - case SyntaxKind.ImportClause: - return (node as ImportClause).isTypeOnly; - case SyntaxKind.ImportSpecifier: - case SyntaxKind.ExportSpecifier: - return (node as ImportSpecifier | ExportSpecifier).parent.parent.isTypeOnly; - default: - return false; - } - } - // True if the given identifier is part of a type reference function isTypeReferenceIdentifier(node: EntityName): boolean { while (node.parent.kind === SyntaxKind.QualifiedName) { @@ -43305,7 +43380,7 @@ namespace ts { function isValue(s: Symbol): boolean { s = resolveSymbol(s); - return s && !!(s.flags & SymbolFlags.Value); + return s && !!(getAllSymbolFlags(s) & SymbolFlags.Value); } } @@ -43361,7 +43436,7 @@ namespace ts { // We should only get the declaration of an alias if there isn't a local value // declaration for the symbol - if (isNonLocalAlias(symbol, /*excludes*/ SymbolFlags.Value) && !getTypeOnlyAliasDeclaration(symbol)) { + if (isNonLocalAlias(symbol, /*excludes*/ SymbolFlags.Value) && !getTypeOnlyAliasDeclaration(symbol, SymbolFlags.Value)) { return getDeclarationOfAliasSymbol(symbol); } } @@ -43458,7 +43533,7 @@ namespace ts { case SyntaxKind.ImportSpecifier: case SyntaxKind.ExportSpecifier: const symbol = getSymbolOfNode(node); - return !!symbol && isAliasResolvedToValue(symbol) && !getTypeOnlyAliasDeclaration(symbol); + return !!symbol && isAliasResolvedToValue(symbol) && !getTypeOnlyAliasDeclaration(symbol, SymbolFlags.Value); case SyntaxKind.ExportDeclaration: const exportClause = (node as ExportDeclaration).exportClause; return !!exportClause && ( @@ -43494,7 +43569,7 @@ namespace ts { } // const enums and modules that contain only const enums are not considered values from the emit perspective // unless 'preserveConstEnums' option is set to true - return !!(target.flags & SymbolFlags.Value) && + return !!((getAllSymbolFlags(target) ?? -1) & SymbolFlags.Value) && (shouldPreserveConstEnums(compilerOptions) || !isConstEnumOrConstEnumOnlyModule(target)); } @@ -43511,7 +43586,7 @@ namespace ts { } const target = getSymbolLinks(symbol!).aliasTarget; // TODO: GH#18217 if (target && getEffectiveModifierFlags(node) & ModifierFlags.Export && - target.flags & SymbolFlags.Value && + getAllSymbolFlags(target) & SymbolFlags.Value && (shouldPreserveConstEnums(compilerOptions) || !isConstEnumOrConstEnumOnlyModule(target))) { // An `export import ... =` of a value symbol is always considered referenced return true; diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index b3dcb04c777d9..144804dc021e3 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -436,9 +436,6 @@ namespace ts { name: "listFilesOnly", type: "boolean", category: Diagnostics.Command_line_Options, - affectsSemanticDiagnostics: true, - affectsEmit: true, - affectsMultiFileEmitBuildInfo: true, isCommandLineOnly: true, description: Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing, defaultValueDescription: false, @@ -2411,7 +2408,8 @@ namespace ts { return config; } - function optionMapToObject(optionMap: ESMap): object { + /*@internal*/ + export function optionMapToObject(optionMap: ESMap): object { return { ...arrayFrom(optionMap.entries()).reduce((prev, cur) => ({ ...prev, [cur[0]]: cur[1] }), {}), }; @@ -2464,7 +2462,8 @@ namespace ts { }); } - function serializeCompilerOptions( + /* @internal */ + export function serializeCompilerOptions( options: CompilerOptions, pathOptions?: { configFilePath: string, useCaseSensitiveFileNames: boolean } ): ESMap { @@ -2582,12 +2581,21 @@ namespace ts { function writeConfigurations() { // Filter applicable options to place in the file - const categorizedOptions = createMultiMap(); + const categorizedOptions = new Map(); + // Set allowed categories in order + categorizedOptions.set(Diagnostics.Projects, []); + categorizedOptions.set(Diagnostics.Language_and_Environment, []); + categorizedOptions.set(Diagnostics.Modules, []); + categorizedOptions.set(Diagnostics.JavaScript_Support, []); + categorizedOptions.set(Diagnostics.Emit, []); + categorizedOptions.set(Diagnostics.Interop_Constraints, []); + categorizedOptions.set(Diagnostics.Type_Checking, []); + categorizedOptions.set(Diagnostics.Completeness, []); for (const option of optionDeclarations) { - const { category } = option; - if (isAllowedOptionForOutput(option)) { - categorizedOptions.add(getLocaleSpecificMessage(category!), option); + let listForCategory = categorizedOptions.get(option.category!); + if (!listForCategory) categorizedOptions.set(option.category!, listForCategory = []); + listForCategory.push(option); } } @@ -2599,7 +2607,7 @@ namespace ts { if (entries.length !== 0) { entries.push({ value: "" }); } - entries.push({ value: `/* ${category} */` }); + entries.push({ value: `/* ${getLocaleSpecificMessage(category)} */` }); for (const option of options) { let optionName; if (compilerOptionsMap.has(option.name)) { diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 698f7bb2fb705..870892d864031 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1937,8 +1937,10 @@ namespace ts { return compareValues(a?.start, b?.start) || compareValues(a?.length, b?.length); } - export function min(a: T, b: T, compare: Comparer): T { - return compare(a, b) === Comparison.LessThan ? a : b; + export function min(items: readonly [T, ...T[]], compare: Comparer): T; + export function min(items: readonly T[], compare: Comparer): T | undefined; + export function min(items: readonly T[], compare: Comparer): T | undefined { + return reduceLeft(items, (x, y) => compare(x, y) === Comparison.LessThan ? x : y); } /** diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 7a8f3192d917c..e3a6098e35b7b 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -5414,6 +5414,22 @@ "category": "Message", "code": 6401 }, + "Resolving in {0} mode with conditions {1}.": { + "category": "Message", + "code": 6402 + }, + "Matched '{0}' condition '{1}'.": { + "category": "Message", + "code": 6403 + }, + "Using '{0}' subpath '{1}' with target '{2}'.": { + "category": "Message", + "code": 6404 + }, + "Saw non-matching condition '{0}'.": { + "category": "Message", + "code": 6405 + }, "The expected type comes from property '{0}' which is declared here on type '{1}'": { "category": "Message", @@ -6687,6 +6703,14 @@ "category": "Message", "code": 90058 }, + "Export '{0}' from module '{1}'": { + "category": "Message", + "code": 90059 + }, + "Export all referenced locals": { + "category": "Message", + "code": 90060 + }, "Convert function to an ES2015 class": { "category": "Message", diff --git a/src/compiler/factory/baseNodeFactory.ts b/src/compiler/factory/baseNodeFactory.ts index 26be7e95ef237..a2eb7a2d0bbe5 100644 --- a/src/compiler/factory/baseNodeFactory.ts +++ b/src/compiler/factory/baseNodeFactory.ts @@ -17,13 +17,11 @@ namespace ts { * Creates a `BaseNodeFactory` which can be used to create `Node` instances from the constructors provided by the object allocator. */ export function createBaseNodeFactory(): BaseNodeFactory { - // tslint:disable variable-name let NodeConstructor: new (kind: SyntaxKind, pos?: number, end?: number) => Node; let TokenConstructor: new (kind: SyntaxKind, pos?: number, end?: number) => Node; let IdentifierConstructor: new (kind: SyntaxKind, pos?: number, end?: number) => Node; let PrivateIdentifierConstructor: new (kind: SyntaxKind, pos?: number, end?: number) => Node; let SourceFileConstructor: new (kind: SyntaxKind, pos?: number, end?: number) => Node; - // tslint:enable variable-name return { createBaseSourceFileNode, @@ -53,4 +51,4 @@ namespace ts { return new (NodeConstructor || (NodeConstructor = objectAllocator.getNodeConstructor()))(kind, /*pos*/ -1, /*end*/ -1); } } -} \ No newline at end of file +} diff --git a/src/compiler/factory/emitHelpers.ts b/src/compiler/factory/emitHelpers.ts index 85a12581965f8..36063fadd55c7 100644 --- a/src/compiler/factory/emitHelpers.ts +++ b/src/compiler/factory/emitHelpers.ts @@ -705,6 +705,8 @@ namespace ts { // - The verb (`next`, `throw`, or `return` method) to delegate to the expression // of a `yield*`. // - The result of evaluating the verb delegated to the expression of a `yield*`. + // g A temporary variable that holds onto the generator object until the generator + // is started, allowing it to also act as the `suspendedStart` state. // // functions: // verb(n) Creates a bound callback to the `step` function for opcode `n`. @@ -750,7 +752,7 @@ namespace ts { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/src/compiler/factory/nodeFactory.ts b/src/compiler/factory/nodeFactory.ts index 27b2b75e9c7f0..713df9c86780a 100644 --- a/src/compiler/factory/nodeFactory.ts +++ b/src/compiler/factory/nodeFactory.ts @@ -874,7 +874,7 @@ namespace ts { } // @api - function createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind): Identifier { + function createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind, hasExtendedUnicodeEscape?: boolean): Identifier { const node = createBaseIdentifier(text, originalKeywordKind); if (typeArguments) { // NOTE: we do not use `setChildren` here because typeArguments in an identifier do not contribute to transformations @@ -883,6 +883,10 @@ namespace ts { if (node.originalKeywordKind === SyntaxKind.AwaitKeyword) { node.transformFlags |= TransformFlags.ContainsPossibleTopLevelAwait; } + if (hasExtendedUnicodeEscape) { + node.hasExtendedUnicodeEscape = hasExtendedUnicodeEscape; + node.transformFlags |= TransformFlags.ContainsES2015; + } return node; } @@ -6403,11 +6407,9 @@ namespace ts { rawTextScanner.setText("`" + rawText + "`"); break; case SyntaxKind.TemplateHead: - // tslint:disable-next-line no-invalid-template-strings rawTextScanner.setText("`" + rawText + "${"); break; case SyntaxKind.TemplateMiddle: - // tslint:disable-next-line no-invalid-template-strings rawTextScanner.setText("}" + rawText + "${"); break; case SyntaxKind.TemplateTail: @@ -6836,7 +6838,6 @@ namespace ts { return node; } - // tslint:disable-next-line variable-name let SourceMapSource: new (fileName: string, text: string, skipTrivia?: (pos: number) => number) => SourceMapSource; /** diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 222d1dee63f4d..f30c2a63a6ca9 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -1372,6 +1372,10 @@ namespace ts { reportDiagnostic: diag => void diagnostics.push(diag), }; + if (traceEnabled && getEmitModuleResolutionKind(compilerOptions) >= ModuleResolutionKind.Node16 && getEmitModuleResolutionKind(compilerOptions) <= ModuleResolutionKind.NodeNext) { + trace(host, Diagnostics.Resolving_in_0_mode_with_conditions_1, features & NodeResolutionFeatures.EsmMode ? "ESM" : "CJS", conditions.map(c => `'${c}'`).join(", ")); + } + const result = forEach(extensions, ext => tryResolve(ext)); return createResolvedModuleWithFailedLookupLocations( result?.value?.resolved, @@ -2032,7 +2036,7 @@ namespace ts { } if (mainExport) { const loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false); - return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false); + return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false, "."); } } else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports as MapLike)) { @@ -2111,7 +2115,7 @@ namespace ts { if (!endsWith(moduleName, directorySeparator) && moduleName.indexOf("*") === -1 && hasProperty(lookupTable, moduleName)) { const target = (lookupTable as {[idx: string]: unknown})[moduleName]; - return loadModuleFromTargetImportOrExport(target, /*subpath*/ "", /*pattern*/ false); + return loadModuleFromTargetImportOrExport(target, /*subpath*/ "", /*pattern*/ false, moduleName); } const expandingKeys = sort(filter(getOwnKeys(lookupTable as MapLike), k => k.indexOf("*") !== -1 || endsWith(k, "/")), comparePatternKeys); for (const potentialTarget of expandingKeys) { @@ -2119,17 +2123,17 @@ namespace ts { const target = (lookupTable as {[idx: string]: unknown})[potentialTarget]; const starPos = potentialTarget.indexOf("*"); const subpath = moduleName.substring(potentialTarget.substring(0, starPos).length, moduleName.length - (potentialTarget.length - 1 - starPos)); - return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true); + return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true, potentialTarget); } else if (endsWith(potentialTarget, "*") && startsWith(moduleName, potentialTarget.substring(0, potentialTarget.length - 1))) { const target = (lookupTable as {[idx: string]: unknown})[potentialTarget]; const subpath = moduleName.substring(potentialTarget.length - 1); - return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true); + return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ true, potentialTarget); } else if (startsWith(moduleName, potentialTarget)) { const target = (lookupTable as {[idx: string]: unknown})[potentialTarget]; const subpath = moduleName.substring(potentialTarget.length); - return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ false); + return loadModuleFromTargetImportOrExport(target, subpath, /*pattern*/ false, potentialTarget); } } @@ -2146,7 +2150,7 @@ namespace ts { */ function getLoadModuleFromTargetImportOrExport(extensions: Extensions, state: ModuleResolutionState, cache: ModuleResolutionCache | undefined, redirectedReference: ResolvedProjectReference | undefined, moduleName: string, scope: PackageJsonInfo, isImports: boolean) { return loadModuleFromTargetImportOrExport; - function loadModuleFromTargetImportOrExport(target: unknown, subpath: string, pattern: boolean): SearchResult | undefined { + function loadModuleFromTargetImportOrExport(target: unknown, subpath: string, pattern: boolean, key: string): SearchResult | undefined { if (typeof target === "string") { if (!pattern && subpath.length > 0 && !endsWith(target, "/")) { if (state.traceEnabled) { @@ -2157,6 +2161,8 @@ namespace ts { if (!startsWith(target, "./")) { if (isImports && !startsWith(target, "../") && !startsWith(target, "/") && !isRootedDiskPath(target)) { const combinedLookup = pattern ? target.replace(/\*/g, subpath) : target + subpath; + traceIfEnabled(state, Diagnostics.Using_0_subpath_1_with_target_2, "imports", key, combinedLookup); + traceIfEnabled(state, Diagnostics.Resolving_module_0_from_1, combinedLookup, scope.packageDirectory + "/"); const result = nodeModuleNameResolverWorker(state.features, combinedLookup, scope.packageDirectory + "/", state.compilerOptions, state.host, cache, [extensions], redirectedReference); return toSearchResult(result.resolvedModule ? { path: result.resolvedModule.resolvedFileName, extension: result.resolvedModule.extension, packageId: result.resolvedModule.packageId, originalPath: result.resolvedModule.originalPath } : undefined); } @@ -2183,6 +2189,14 @@ namespace ts { } return toSearchResult(/*value*/ undefined); } + + if (state.traceEnabled) { + trace(state.host, + Diagnostics.Using_0_subpath_1_with_target_2, + isImports ? "imports" : "exports", + key, + pattern ? target.replace(/\*/g, subpath) : target + subpath); + } const finalPath = toAbsolutePath(pattern ? resolvedTarget.replace(/\*/g, subpath) : resolvedTarget + subpath); const inputLink = tryLoadInputFileForPath(finalPath, subpath, combinePaths(scope.packageDirectory, "package.json"), isImports); if (inputLink) return inputLink; @@ -2190,14 +2204,18 @@ namespace ts { } else if (typeof target === "object" && target !== null) { // eslint-disable-line no-null/no-null if (!Array.isArray(target)) { - for (const key of getOwnKeys(target as MapLike)) { - if (key === "default" || state.conditions.indexOf(key) >= 0 || isApplicableVersionedTypesKey(state.conditions, key)) { - const subTarget = (target as MapLike)[key]; - const result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern); + for (const condition of getOwnKeys(target as MapLike)) { + if (condition === "default" || state.conditions.indexOf(condition) >= 0 || isApplicableVersionedTypesKey(state.conditions, condition)) { + traceIfEnabled(state, Diagnostics.Matched_0_condition_1, isImports ? "imports" : "exports", condition); + const subTarget = (target as MapLike)[condition]; + const result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern, key); if (result) { return result; } } + else { + traceIfEnabled(state, Diagnostics.Saw_non_matching_condition_0, condition); + } } return undefined; } @@ -2209,7 +2227,7 @@ namespace ts { return toSearchResult(/*value*/ undefined); } for (const elem of target) { - const result = loadModuleFromTargetImportOrExport(elem, subpath, pattern); + const result = loadModuleFromTargetImportOrExport(elem, subpath, pattern, key); if (result) { return result; } @@ -2685,4 +2703,10 @@ namespace ts { function toSearchResult(value: T | undefined): SearchResult { return value !== undefined ? { value } : undefined; } + + function traceIfEnabled(state: ModuleResolutionState, diagnostic: DiagnosticMessage, ...args: string[]) { + if (state.traceEnabled) { + trace(state.host, diagnostic, ...args); + } + } } diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index 32640fcb81579..2327f8924b8e6 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -726,16 +726,23 @@ namespace ts.moduleSpecifiers { } function tryGetModuleNameFromRootDirs(rootDirs: readonly string[], moduleFileName: string, sourceDirectory: string, getCanonicalFileName: (file: string) => string, ending: Ending, compilerOptions: CompilerOptions): string | undefined { - const normalizedTargetPath = getPathRelativeToRootDirs(moduleFileName, rootDirs, getCanonicalFileName); - if (normalizedTargetPath === undefined) { + const normalizedTargetPaths = getPathsRelativeToRootDirs(moduleFileName, rootDirs, getCanonicalFileName); + if (normalizedTargetPaths === undefined) { + return undefined; + } + + const normalizedSourcePaths = getPathsRelativeToRootDirs(sourceDirectory, rootDirs, getCanonicalFileName); + const relativePaths = flatMap(normalizedSourcePaths, sourcePath => { + return map(normalizedTargetPaths, targetPath => ensurePathIsNonModuleName(getRelativePathFromDirectory(sourcePath, targetPath, getCanonicalFileName))); + }); + const shortest = min(relativePaths, compareNumberOfDirectorySeparators); + if (!shortest) { return undefined; } - const normalizedSourcePath = getPathRelativeToRootDirs(sourceDirectory, rootDirs, getCanonicalFileName); - const relativePath = normalizedSourcePath !== undefined ? ensurePathIsNonModuleName(getRelativePathFromDirectory(normalizedSourcePath, normalizedTargetPath, getCanonicalFileName)) : normalizedTargetPath; return getEmitModuleResolutionKind(compilerOptions) === ModuleResolutionKind.NodeJs - ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions) - : removeFileExtension(relativePath); + ? removeExtensionAndIndexPostFix(shortest, ending, compilerOptions) + : removeFileExtension(shortest); } function tryGetModuleNameAsNodeModule({ path, isRedirect }: ModulePath, { getCanonicalFileName, sourceDirectory }: Info, importingSourceFile: SourceFile , host: ModuleSpecifierResolutionHost, options: CompilerOptions, userPreferences: UserPreferences, packageNameOnly?: boolean, overrideMode?: ModuleKind.ESNext | ModuleKind.CommonJS): string | undefined { @@ -882,8 +889,8 @@ namespace ts.moduleSpecifiers { } } - function getPathRelativeToRootDirs(path: string, rootDirs: readonly string[], getCanonicalFileName: GetCanonicalFileName): string | undefined { - return firstDefined(rootDirs, rootDir => { + function getPathsRelativeToRootDirs(path: string, rootDirs: readonly string[], getCanonicalFileName: GetCanonicalFileName): string[] | undefined { + return mapDefined(rootDirs, rootDir => { const relativePath = getRelativePathIfInDirectory(path, rootDir, getCanonicalFileName); return relativePath !== undefined && isPathRelativeToParent(relativePath) ? undefined : relativePath; }); diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index bd85362d90409..3b242daf5cc76 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1027,13 +1027,11 @@ namespace ts { const disallowInAndDecoratorContext = NodeFlags.DisallowInContext | NodeFlags.DecoratorContext; // capture constructors in 'initializeState' to avoid null checks - // tslint:disable variable-name let NodeConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let TokenConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let IdentifierConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let PrivateIdentifierConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let SourceFileConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; - // tslint:enable variable-name function countNode(node: Node) { nodeCount++; @@ -2187,8 +2185,9 @@ namespace ts { // Store original token kind if it is not just an Identifier so we can report appropriate error later in type checker const originalKeywordKind = token(); const text = internIdentifier(scanner.getTokenValue()); + const hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape(); nextTokenWithoutCheck(); - return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind), pos); + return finishNode(factory.createIdentifier(text, /*typeArguments*/ undefined, originalKeywordKind, hasExtendedUnicodeEscape), pos); } if (token() === SyntaxKind.PrivateIdentifier) { diff --git a/src/compiler/resolutionCache.ts b/src/compiler/resolutionCache.ts index 732a1114229ff..6f3cdf1749dc8 100644 --- a/src/compiler/resolutionCache.ts +++ b/src/compiler/resolutionCache.ts @@ -127,7 +127,7 @@ namespace ts { const isNonDirectorySeparatorRoot = rootLength > 1 || dirPath.charCodeAt(0) !== CharacterCodes.slash; if (isNonDirectorySeparatorRoot && dirPath.search(/[a-zA-Z]:/) !== 0 && // Non dos style paths - pathPartForUserCheck.search(/[a-zA-z]\$\//) === 0) { // Dos style nextPart + pathPartForUserCheck.search(/[a-zA-Z]\$\//) === 0) { // Dos style nextPart nextDirectorySeparator = dirPath.indexOf(directorySeparator, nextDirectorySeparator + 1); if (nextDirectorySeparator === -1) { // ignore "//vda1cs4850/c$/folderAtRoot" diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 5eb410eb3183e..a6053f71ff633 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -1486,7 +1486,7 @@ namespace ts { function peekExtendedUnicodeEscape(): number { - if (languageVersion >= ScriptTarget.ES2015 && codePointAt(text, pos + 1) === CharacterCodes.u && codePointAt(text, pos + 2) === CharacterCodes.openBrace) { + if (codePointAt(text, pos + 1) === CharacterCodes.u && codePointAt(text, pos + 2) === CharacterCodes.openBrace) { const start = pos; pos += 3; const escapedValueString = scanMinimumNumberOfHexDigits(1, /*canHaveSeparators*/ false); diff --git a/src/compiler/semver.ts b/src/compiler/semver.ts index 76d4cf2d65e7a..7c4a0ce8177ea 100644 --- a/src/compiler/semver.ts +++ b/src/compiler/semver.ts @@ -15,12 +15,14 @@ namespace ts { // > alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers // > MUST NOT include leading zeroes. const prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i; + const prereleasePartRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i; // https://semver.org/#spec-item-10 // > Build metadata MAY be denoted by appending a plus sign and a series of dot separated // > identifiers immediately following the patch or pre-release version. Identifiers MUST // > comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. const buildRegExp = /^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i; + const buildPartRegExp = /^[a-z0-9-]+$/i; // https://semver.org/#spec-item-9 // > Numeric identifiers MUST NOT include leading zeroes. @@ -30,7 +32,7 @@ namespace ts { * Describes a precise semantic version number, https://semver.org */ export class Version { - static readonly zero = new Version(0, 0, 0); + static readonly zero = new Version(0, 0, 0, ["0"]); readonly major: number; readonly minor: number; @@ -39,8 +41,8 @@ namespace ts { readonly build: readonly string[]; constructor(text: string); - constructor(major: number, minor?: number, patch?: number, prerelease?: string, build?: string); - constructor(major: number | string, minor = 0, patch = 0, prerelease = "", build = "") { + constructor(major: number, minor?: number, patch?: number, prerelease?: string | readonly string[], build?: string | readonly string[]); + constructor(major: number | string, minor = 0, patch = 0, prerelease: string | readonly string[] = "", build: string | readonly string[] = "") { if (typeof major === "string") { const result = Debug.checkDefined(tryParseComponents(major), "Invalid version"); ({ major, minor, patch, prerelease, build } = result); @@ -49,13 +51,18 @@ namespace ts { Debug.assert(major >= 0, "Invalid argument: major"); Debug.assert(minor >= 0, "Invalid argument: minor"); Debug.assert(patch >= 0, "Invalid argument: patch"); - Debug.assert(!prerelease || prereleaseRegExp.test(prerelease), "Invalid argument: prerelease"); - Debug.assert(!build || buildRegExp.test(build), "Invalid argument: build"); + + const prereleaseArray = prerelease ? isArray(prerelease) ? prerelease : prerelease.split(".") : emptyArray; + const buildArray = build ? isArray(build) ? build : build.split(".") : emptyArray; + + Debug.assert(every(prereleaseArray, s => prereleasePartRegExp.test(s)), "Invalid argument: prerelease"); + Debug.assert(every(buildArray, s => buildPartRegExp.test(s)), "Invalid argument: build"); + this.major = major; this.minor = minor; this.patch = patch; - this.prerelease = prerelease ? prerelease.split(".") : emptyArray; - this.build = build ? build.split(".") : emptyArray; + this.prerelease = prereleaseArray; + this.build = buildArray; } static tryParse(text: string) { @@ -96,6 +103,17 @@ namespace ts { } } + with(fields: { major?: number, minor?: number, patch?: number, prerelease?: string | readonly string[], build?: string | readonly string[] }) { + const { + major = this.major, + minor = this.minor, + patch = this.patch, + prerelease = this.prerelease, + build = this.build + } = fields; + return new Version(major, minor, patch, prerelease, build); + } + toString() { let result = `${this.major}.${this.minor}.${this.patch}`; if (some(this.prerelease)) result += `-${this.prerelease.join(".")}`; @@ -184,6 +202,10 @@ namespace ts { return undefined; } + /** + * Tests whether a version matches the range. This is equivalent to `satisfies(version, range, { includePrerelease: true })`. + * in `node-semver`. + */ test(version: Version | string) { if (typeof version === "string") version = new Version(version); return testDisjunction(version, this._alternatives); @@ -311,20 +333,22 @@ namespace ts { break; case "<": case ">=": - comparators.push(createComparator(operator, version)); + comparators.push( + isWildcard(minor) || isWildcard(patch) ? createComparator(operator, version.with({ prerelease: "0" })) : + createComparator(operator, version)); break; case "<=": case ">": comparators.push( - isWildcard(minor) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("major")) : - isWildcard(patch) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("minor")) : + isWildcard(minor) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("major").with({ prerelease: "0" })) : + isWildcard(patch) ? createComparator(operator === "<=" ? "<" : ">=", version.increment("minor").with({ prerelease: "0" })) : createComparator(operator, version)); break; case "=": case undefined: if (isWildcard(minor) || isWildcard(patch)) { - comparators.push(createComparator(">=", version)); - comparators.push(createComparator("<", version.increment(isWildcard(minor) ? "major" : "minor"))); + comparators.push(createComparator(">=", version.with({ prerelease: "0" }))); + comparators.push(createComparator("<", version.increment(isWildcard(minor) ? "major" : "minor").with({ prerelease: "0" }))); } else { comparators.push(createComparator("=", version)); @@ -389,4 +413,4 @@ namespace ts { function formatComparator(comparator: Comparator) { return `${comparator.operator}${comparator.operand}`; } -} +} \ No newline at end of file diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index bcc37fcd5a857..b9e6540291fa7 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -854,7 +854,6 @@ namespace ts { tscWatchFile: string | undefined; useNonPollingWatchers?: boolean; tscWatchDirectory: string | undefined; - defaultWatchFileKind: System["defaultWatchFileKind"]; inodeWatching: boolean; sysLog: (s: string) => void; } @@ -875,7 +874,6 @@ namespace ts { tscWatchFile, useNonPollingWatchers, tscWatchDirectory, - defaultWatchFileKind, inodeWatching, sysLog, }: CreateSystemWatchFunctions): { watchFile: HostWatchFile; watchDirectory: HostWatchDirectory; } { @@ -953,8 +951,8 @@ namespace ts { return useNonPollingWatchers ? // Use notifications from FS to watch with falling back to fs.watchFile generateWatchFileOptions(WatchFileKind.UseFsEventsOnParentDirectory, PollingWatchKind.PriorityInterval, options) : - // Default to do not use fixed polling interval - { watchFile: defaultWatchFileKind?.() || WatchFileKind.UseFsEvents }; + // Default to using fs events + { watchFile: WatchFileKind.UseFsEvents }; } } @@ -1380,7 +1378,6 @@ namespace ts { base64encode?(input: string): string; /*@internal*/ bufferFrom?(input: string, encoding?: string): Buffer; /*@internal*/ require?(baseDir: string, moduleName: string): RequireResult; - /*@internal*/ defaultWatchFileKind?(): WatchFileKind | undefined; // For testing /*@internal*/ now?(): Date; @@ -1473,7 +1470,6 @@ namespace ts { tscWatchFile: process.env.TSC_WATCHFILE, useNonPollingWatchers: process.env.TSC_NONPOLLING_WATCHER, tscWatchDirectory: process.env.TSC_WATCHDIRECTORY, - defaultWatchFileKind: () => sys!.defaultWatchFileKind?.(), inodeWatching: isLinuxOrMacOs, sysLog, }); diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 9e3ef1b753b87..7feb0c09c8278 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -643,11 +643,16 @@ namespace ts { } function visitIdentifier(node: Identifier): Identifier { - if (!convertedLoopState) { - return node; + if (convertedLoopState) { + if (resolver.isArgumentsLocalBinding(node)) { + return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory.createUniqueName("arguments")); + } } - if (resolver.isArgumentsLocalBinding(node)) { - return convertedLoopState.argumentsName || (convertedLoopState.argumentsName = factory.createUniqueName("arguments")); + if (node.hasExtendedUnicodeEscape) { + return setOriginalNode(setTextRange( + factory.createIdentifier(unescapeLeadingUnderscores(node.escapedText)), + node + ), node); } return node; } diff --git a/src/compiler/transformers/es2017.ts b/src/compiler/transformers/es2017.ts index 78d9f57ccdc9d..001f93551b4ab 100644 --- a/src/compiler/transformers/es2017.ts +++ b/src/compiler/transformers/es2017.ts @@ -140,8 +140,11 @@ namespace ts { return visitEachChild(node, visitor, context); case SyntaxKind.GetAccessor: + return doWithContext(ContextFlags.NonTopLevel | ContextFlags.HasLexicalThis, visitGetAccessorDeclaration, node as GetAccessorDeclaration); case SyntaxKind.SetAccessor: + return doWithContext(ContextFlags.NonTopLevel | ContextFlags.HasLexicalThis, visitSetAccessorDeclaration, node as SetAccessorDeclaration); case SyntaxKind.Constructor: + return doWithContext(ContextFlags.NonTopLevel | ContextFlags.HasLexicalThis, visitConstructorDeclaration, node as ConstructorDeclaration); case SyntaxKind.ClassDeclaration: case SyntaxKind.ClassExpression: return doWithContext(ContextFlags.NonTopLevel | ContextFlags.HasLexicalThis, visitDefault, node); @@ -278,6 +281,15 @@ namespace ts { ); } + function visitConstructorDeclaration(node: ConstructorDeclaration) { + return factory.updateConstructorDeclaration( + node, + visitNodes(node.modifiers, visitor, isModifierLike), + visitParameterList(node.parameters, visitor, context), + transformMethodBody(node) + ); + } + /** * Visits a MethodDeclaration node. * @@ -298,7 +310,28 @@ namespace ts { /*type*/ undefined, getFunctionFlags(node) & FunctionFlags.Async ? transformAsyncFunctionBody(node) - : visitFunctionBody(node.body, visitor, context) + : transformMethodBody(node) + ); + } + + function visitGetAccessorDeclaration(node: GetAccessorDeclaration) { + return factory.updateGetAccessorDeclaration( + node, + visitNodes(node.modifiers, visitor, isModifierLike), + node.name, + visitParameterList(node.parameters, visitor, context), + /*type*/ undefined, + transformMethodBody(node) + ); + } + + function visitSetAccessorDeclaration(node: SetAccessorDeclaration) { + return factory.updateSetAccessorDeclaration( + node, + visitNodes(node.modifiers, visitor, isModifierLike), + node.name, + visitParameterList(node.parameters, visitor, context), + transformMethodBody(node) ); } @@ -446,6 +479,50 @@ namespace ts { return false; } + function transformMethodBody(node: MethodDeclaration | AccessorDeclaration | ConstructorDeclaration): FunctionBody | undefined { + Debug.assertIsDefined(node.body); + + const savedCapturedSuperProperties = capturedSuperProperties; + const savedHasSuperElementAccess = hasSuperElementAccess; + capturedSuperProperties = new Set(); + hasSuperElementAccess = false; + + let updated = visitFunctionBody(node.body, visitor, context); + + // Minor optimization, emit `_super` helper to capture `super` access in an arrow. + // This step isn't needed if we eventually transform this to ES5. + const originalMethod = getOriginalNode(node, isFunctionLikeDeclaration); + const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && + resolver.getNodeCheckFlags(node) & (NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) && + (getFunctionFlags(originalMethod) & FunctionFlags.AsyncGenerator) !== FunctionFlags.AsyncGenerator; + + if (emitSuperHelpers) { + enableSubstitutionForAsyncMethodsWithSuper(); + if (capturedSuperProperties.size) { + const variableStatement = createSuperAccessVariableStatement(factory, resolver, node, capturedSuperProperties); + substitutedSuperAccessors[getNodeId(variableStatement)] = true; + + const statements = updated.statements.slice(); + insertStatementsAfterStandardPrologue(statements, [variableStatement]); + updated = factory.updateBlock(updated, statements); + } + + if (hasSuperElementAccess) { + // Emit helpers for super element access expressions (`super[x]`). + if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { + addEmitHelper(updated, advancedAsyncSuperHelper); + } + else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) { + addEmitHelper(updated, asyncSuperHelper); + } + } + } + + capturedSuperProperties = savedCapturedSuperProperties; + hasSuperElementAccess = savedHasSuperElementAccess; + return updated; + } + function transformAsyncFunctionBody(node: MethodDeclaration | AccessorDeclaration | FunctionDeclaration | FunctionExpression): FunctionBody; function transformAsyncFunctionBody(node: ArrowFunction): ConciseBody; function transformAsyncFunctionBody(node: FunctionLikeDeclaration): ConciseBody { @@ -495,7 +572,7 @@ namespace ts { // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. - const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && resolver.getNodeCheckFlags(node) & (NodeCheckFlags.AsyncMethodWithSuperBinding | NodeCheckFlags.AsyncMethodWithSuper); + const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && resolver.getNodeCheckFlags(node) & (NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags.MethodWithSuperPropertyAccessInAsync); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); @@ -511,10 +588,10 @@ namespace ts { if (emitSuperHelpers && hasSuperElementAccess) { // Emit helpers for super element access expressions (`super[x]`). - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.AsyncMethodWithSuperBinding) { + if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { addEmitHelper(block, advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.AsyncMethodWithSuper) { + else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) { addEmitHelper(block, asyncSuperHelper); } } @@ -601,7 +678,7 @@ namespace ts { // If we need to support substitutions for `super` in an async method, // we should track it here. if (enabledSubstitutions & ES2017SubstitutionFlags.AsyncMethodsWithSuper && isSuperContainer(node)) { - const superContainerFlags = resolver.getNodeCheckFlags(node) & (NodeCheckFlags.AsyncMethodWithSuper | NodeCheckFlags.AsyncMethodWithSuperBinding); + const superContainerFlags = resolver.getNodeCheckFlags(node) & (NodeCheckFlags.MethodWithSuperPropertyAccessInAsync | NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync); if (superContainerFlags !== enclosingSuperContainerFlags) { const savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -698,7 +775,7 @@ namespace ts { } function createSuperElementAccessInAsyncMethod(argumentExpression: Expression, location: TextRange): LeftHandSideExpression { - if (enclosingSuperContainerFlags & NodeCheckFlags.AsyncMethodWithSuperBinding) { + if (enclosingSuperContainerFlags & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { return setTextRange( factory.createPropertyAccessExpression( factory.createCallExpression( @@ -728,7 +805,7 @@ namespace ts { export function createSuperAccessVariableStatement(factory: NodeFactory, resolver: EmitResolver, node: FunctionLikeDeclaration, names: Set<__String>) { // Create a variable declaration with a getter/setter (if binding) definition for each name: // const _super = Object.create(null, { x: { get: () => super.x, set: (v) => super.x = v }, ... }); - const hasBinding = (resolver.getNodeCheckFlags(node) & NodeCheckFlags.AsyncMethodWithSuperBinding) !== 0; + const hasBinding = (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) !== 0; const accessors: PropertyAssignment[] = []; names.forEach((_, key) => { const name = unescapeLeadingUnderscores(key); diff --git a/src/compiler/transformers/es2018.ts b/src/compiler/transformers/es2018.ts index aa1f4a5e6c4f1..abb2e5965cc5b 100644 --- a/src/compiler/transformers/es2018.ts +++ b/src/compiler/transformers/es2018.ts @@ -643,12 +643,26 @@ namespace ts { return node; } - function convertForOfStatementHead(node: ForOfStatement, boundValue: Expression) { - const binding = createForOfBindingStatement(factory, node.initializer, boundValue); + function convertForOfStatementHead(node: ForOfStatement, boundValue: Expression, nonUserCode: Identifier) { + const value = factory.createTempVariable(hoistVariableDeclaration); + const iteratorValueExpression = factory.createAssignment(value, boundValue); + const iteratorValueStatement = factory.createExpressionStatement(iteratorValueExpression); + setSourceMapRange(iteratorValueStatement, node.expression); + + const exitNonUserCodeExpression = factory.createAssignment(nonUserCode, factory.createFalse()); + const exitNonUserCodeStatement = factory.createExpressionStatement(exitNonUserCodeExpression); + setSourceMapRange(exitNonUserCodeStatement, node.expression); + + const enterNonUserCodeExpression = factory.createAssignment(nonUserCode, factory.createTrue()); + const enterNonUserCodeStatement = factory.createExpressionStatement(enterNonUserCodeExpression); + setSourceMapRange(exitNonUserCodeStatement, node.expression); + + const statements: Statement[] = []; + const binding = createForOfBindingStatement(factory, node.initializer, value); + statements.push(visitNode(binding, visitor, isStatement)); let bodyLocation: TextRange | undefined; let statementsLocation: TextRange | undefined; - const statements: Statement[] = [visitNode(binding, visitor, isStatement)]; const statement = visitIterationBody(node.statement, visitor, context); if (isBlock(statement)) { addRange(statements, statement.statements); @@ -659,7 +673,7 @@ namespace ts { statements.push(statement); } - return setEmitFlags( + const body = setEmitFlags( setTextRange( factory.createBlock( setTextRange(factory.createNodeArray(statements), statementsLocation), @@ -669,6 +683,18 @@ namespace ts { ), EmitFlags.NoSourceMap | EmitFlags.NoTokenSourceMaps ); + + return factory.createBlock([ + iteratorValueStatement, + exitNonUserCodeStatement, + factory.createTryStatement( + body, + /*catchClause*/ undefined, + factory.createBlock([ + enterNonUserCodeStatement + ]) + ) + ]); } function createDownlevelAwait(expression: Expression) { @@ -681,6 +707,8 @@ namespace ts { const expression = visitNode(node.expression, visitor, isExpression); const iterator = isIdentifier(expression) ? factory.getGeneratedNameForNode(expression) : factory.createTempVariable(/*recordTempVariable*/ undefined); const result = isIdentifier(expression) ? factory.getGeneratedNameForNode(iterator) : factory.createTempVariable(/*recordTempVariable*/ undefined); + const nonUserCode = factory.createTempVariable(/*recordTempVariable*/ undefined); + const done = factory.createTempVariable(hoistVariableDeclaration); const errorRecord = factory.createUniqueName("e"); const catchVariable = factory.getGeneratedNameForNode(errorRecord); const returnMethod = factory.createTempVariable(/*recordTempVariable*/ undefined); @@ -704,6 +732,7 @@ namespace ts { /*initializer*/ setEmitFlags( setTextRange( factory.createVariableDeclarationList([ + factory.createVariableDeclaration(nonUserCode, /*exclamationToken*/ undefined, /*type*/ undefined, factory.createTrue()), setTextRange(factory.createVariableDeclaration(iterator, /*exclamationToken*/ undefined, /*type*/ undefined, initializer), node.expression), factory.createVariableDeclaration(result) ]), @@ -711,12 +740,13 @@ namespace ts { ), EmitFlags.NoHoisting ), - /*condition*/ factory.createComma( + /*condition*/ factory.inlineExpressions([ factory.createAssignment(result, createDownlevelAwait(callNext)), - factory.createLogicalNot(getDone) - ), + factory.createAssignment(done, getDone), + factory.createLogicalNot(done) + ]), /*incrementor*/ undefined, - /*statement*/ convertForOfStatementHead(node, getValue) + /*statement*/ convertForOfStatementHead(node, getValue, nonUserCode) ), /*location*/ node ), @@ -754,8 +784,8 @@ namespace ts { factory.createIfStatement( factory.createLogicalAnd( factory.createLogicalAnd( - result, - factory.createLogicalNot(getDone) + factory.createLogicalNot(nonUserCode), + factory.createLogicalNot(done), ), factory.createAssignment( returnMethod, @@ -1013,7 +1043,7 @@ namespace ts { // Minor optimization, emit `_super` helper to capture `super` access in an arrow. // This step isn't needed if we eventually transform this to ES5. - const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && resolver.getNodeCheckFlags(node) & (NodeCheckFlags.AsyncMethodWithSuperBinding | NodeCheckFlags.AsyncMethodWithSuper); + const emitSuperHelpers = languageVersion >= ScriptTarget.ES2015 && resolver.getNodeCheckFlags(node) & (NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync | NodeCheckFlags.MethodWithSuperPropertyAccessInAsync); if (emitSuperHelpers) { enableSubstitutionForAsyncMethodsWithSuper(); @@ -1028,10 +1058,10 @@ namespace ts { const block = factory.updateBlock(node.body!, statements); if (emitSuperHelpers && hasSuperElementAccess) { - if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.AsyncMethodWithSuperBinding) { + if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { addEmitHelper(block, advancedAsyncSuperHelper); } - else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.AsyncMethodWithSuper) { + else if (resolver.getNodeCheckFlags(node) & NodeCheckFlags.MethodWithSuperPropertyAccessInAsync) { addEmitHelper(block, asyncSuperHelper); } } @@ -1185,7 +1215,7 @@ namespace ts { // If we need to support substitutions for `super` in an async method, // we should track it here. if (enabledSubstitutions & ESNextSubstitutionFlags.AsyncMethodsWithSuper && isSuperContainer(node)) { - const superContainerFlags = resolver.getNodeCheckFlags(node) & (NodeCheckFlags.AsyncMethodWithSuper | NodeCheckFlags.AsyncMethodWithSuperBinding); + const superContainerFlags = resolver.getNodeCheckFlags(node) & (NodeCheckFlags.MethodWithSuperPropertyAccessInAsync | NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync); if (superContainerFlags !== enclosingSuperContainerFlags) { const savedEnclosingSuperContainerFlags = enclosingSuperContainerFlags; enclosingSuperContainerFlags = superContainerFlags; @@ -1282,7 +1312,7 @@ namespace ts { } function createSuperElementAccessInAsyncMethod(argumentExpression: Expression, location: TextRange): LeftHandSideExpression { - if (enclosingSuperContainerFlags & NodeCheckFlags.AsyncMethodWithSuperBinding) { + if (enclosingSuperContainerFlags & NodeCheckFlags.MethodWithSuperPropertyAssignmentInAsync) { return setTextRange( factory.createPropertyAccessExpression( factory.createCallExpression( diff --git a/src/compiler/transformers/generators.ts b/src/compiler/transformers/generators.ts index ee19c12c9aec6..abcec891dde18 100644 --- a/src/compiler/transformers/generators.ts +++ b/src/compiler/transformers/generators.ts @@ -1516,7 +1516,6 @@ namespace ts { } function transformAndEmitForInStatement(node: ForInStatement) { - // TODO(rbuckton): Source map locations if (containsYield(node)) { // [source] // for (var p in o) { @@ -1524,32 +1523,37 @@ namespace ts { // } // // [intermediate] - // .local _a, _b, _i - // _a = []; - // for (_b in o) _a.push(_b); + // .local _b, _a, _c, _i + // _b = []; + // _a = o; + // for (_c in _a) _b.push(_c); // _i = 0; // .loop incrementLabel, endLoopLabel // .mark conditionLabel - // .brfalse endLoopLabel, (_i < _a.length) - // p = _a[_i]; + // .brfalse endLoopLabel, (_i < _b.length) + // _c = _b[_i]; + // .brfalse incrementLabel, (_c in _a) + // p = _c; // /*body*/ // .mark incrementLabel - // _b++; + // _c++; // .br conditionLabel // .endloop // .mark endLoopLabel - const keysArray = declareLocal(); // _a - const key = declareLocal(); // _b + const obj = declareLocal(); // _a + const keysArray = declareLocal(); // _b + const key = declareLocal(); // _c const keysIndex = factory.createLoopVariable(); // _i const initializer = node.initializer; hoistVariableDeclaration(keysIndex); + emitAssignment(obj, visitNode(node.expression, visitor, isExpression)); emitAssignment(keysArray, factory.createArrayLiteralExpression()); emitStatement( factory.createForInStatement( key, - visitNode(node.expression, visitor, isExpression), + obj, factory.createExpressionStatement( factory.createCallExpression( factory.createPropertyAccessExpression(keysArray, "push"), @@ -1564,10 +1568,13 @@ namespace ts { const conditionLabel = defineLabel(); const incrementLabel = defineLabel(); - const endLabel = beginLoopBlock(incrementLabel); + const endLoopLabel = beginLoopBlock(incrementLabel); markLabel(conditionLabel); - emitBreakWhenFalse(endLabel, factory.createLessThan(keysIndex, factory.createPropertyAccessExpression(keysArray, "length"))); + emitBreakWhenFalse(endLoopLabel, factory.createLessThan(keysIndex, factory.createPropertyAccessExpression(keysArray, "length"))); + + emitAssignment(key, factory.createElementAccessExpression(keysArray, keysIndex)); + emitBreakWhenFalse(incrementLabel, factory.createBinaryExpression(key, SyntaxKind.InKeyword, obj)); let variable: Expression; if (isVariableDeclarationList(initializer)) { @@ -1582,7 +1589,7 @@ namespace ts { Debug.assert(isLeftHandSideExpression(variable)); } - emitAssignment(variable, factory.createElementAccessExpression(keysArray, keysIndex)); + emitAssignment(variable, key); transformAndEmitEmbeddedStatement(node.statement); markLabel(incrementLabel); diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 9b3b8e6ee1283..fbab915e871d4 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -721,7 +721,7 @@ namespace ts { return createImportCallExpressionUMD(argument ?? factory.createVoidZero(), containsLexicalThis); case ModuleKind.CommonJS: default: - return createImportCallExpressionCommonJS(argument, containsLexicalThis); + return createImportCallExpressionCommonJS(argument); } } @@ -745,7 +745,7 @@ namespace ts { return factory.createConditionalExpression( /*condition*/ factory.createIdentifier("__syncRequire"), /*questionToken*/ undefined, - /*whenTrue*/ createImportCallExpressionCommonJS(arg, containsLexicalThis), + /*whenTrue*/ createImportCallExpressionCommonJS(arg), /*colonToken*/ undefined, /*whenFalse*/ createImportCallExpressionAMD(argClone, containsLexicalThis) ); @@ -755,7 +755,7 @@ namespace ts { return factory.createComma(factory.createAssignment(temp, arg), factory.createConditionalExpression( /*condition*/ factory.createIdentifier("__syncRequire"), /*questionToken*/ undefined, - /*whenTrue*/ createImportCallExpressionCommonJS(temp, containsLexicalThis), + /*whenTrue*/ createImportCallExpressionCommonJS(temp, /* isInlineable */ true), /*colonToken*/ undefined, /*whenFalse*/ createImportCallExpressionAMD(temp, containsLexicalThis) )); @@ -820,14 +820,25 @@ namespace ts { return promise; } - function createImportCallExpressionCommonJS(arg: Expression | undefined, containsLexicalThis: boolean): Expression { - // import("./blah") + function createImportCallExpressionCommonJS(arg: Expression | undefined, isInlineable?: boolean): Expression { + // import(x) // emit as - // Promise.resolve().then(function () { return require(x); }) /*CommonJs Require*/ + // var _a; + // (_a = x, Promise.resolve().then(() => require(_a)) /*CommonJs Require*/ // We have to wrap require in then callback so that require is done in asynchronously // if we simply do require in resolve callback in Promise constructor. We will execute the loading immediately - const promiseResolveCall = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Promise"), "resolve"), /*typeArguments*/ undefined, /*argumentsArray*/ []); - let requireCall: Expression = factory.createCallExpression(factory.createIdentifier("require"), /*typeArguments*/ undefined, arg ? [arg] : []); + // If the arg is not inlineable, we have to evaluate it in the current scope with a temp var + const temp = arg && !isSimpleInlineableExpression(arg) && !isInlineable ? factory.createTempVariable(hoistVariableDeclaration) : undefined; + const promiseResolveCall = factory.createCallExpression( + factory.createPropertyAccessExpression(factory.createIdentifier("Promise"), "resolve"), + /*typeArguments*/ undefined, + /*argumentsArray*/ [], + ); + let requireCall: Expression = factory.createCallExpression( + factory.createIdentifier("require"), + /*typeArguments*/ undefined, + temp ? [temp] : arg ? [arg] : [], + ); if (getESModuleInterop(compilerOptions)) { requireCall = emitHelpers().createImportStarHelper(requireCall); } @@ -851,16 +862,11 @@ namespace ts { /*parameters*/ [], /*type*/ undefined, factory.createBlock([factory.createReturnStatement(requireCall)])); - - // if there is a lexical 'this' in the import call arguments, ensure we indicate - // that this new function expression indicates it captures 'this' so that the - // es2015 transformer will properly substitute 'this' with '_this'. - if (containsLexicalThis) { - setEmitFlags(func, EmitFlags.CapturesThis); - } } - return factory.createCallExpression(factory.createPropertyAccessExpression(promiseResolveCall, "then"), /*typeArguments*/ undefined, [func]); + const downleveledImport = factory.createCallExpression(factory.createPropertyAccessExpression(promiseResolveCall, "then"), /*typeArguments*/ undefined, [func]); + + return temp === undefined ? downleveledImport : factory.createCommaListExpression([factory.createAssignment(temp, arg!), downleveledImport]); } function getHelperExpressionForExport(node: ExportDeclaration, innerExpr: Expression) { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 66e55ab58b381..6d16371717e9c 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1427,6 +1427,7 @@ namespace ts { isInJSDocNamespace?: boolean; // if the node is a member in a JSDoc namespace /*@internal*/ typeArguments?: NodeArray; // Only defined on synthesized nodes. Though not syntactically valid, used in emitting diagnostics, quickinfo, and signature help. /*@internal*/ jsdocDotPos?: number; // Identifier occurs in JSDoc-style generic: Id. + /*@internal*/ hasExtendedUnicodeEscape?: boolean; } // Transient identifier node (marked by id === -1) @@ -4760,6 +4761,7 @@ namespace ts { /* @internal */ createPromiseType(type: Type): Type; /* @internal */ getPromiseType(): Type; /* @internal */ getPromiseLikeType(): Type; + /* @internal */ getAsyncIterableType(): Type | undefined; /* @internal */ isTypeAssignableTo(source: Type, target: Type): boolean; /* @internal */ createAnonymousType(symbol: Symbol | undefined, members: SymbolTable, callSignatures: Signature[], constructSignatures: Signature[], indexInfos: IndexInfo[]): Type; @@ -5525,8 +5527,8 @@ namespace ts { SuperInstance = 0x00000100, // Instance 'super' reference SuperStatic = 0x00000200, // Static 'super' reference ContextChecked = 0x00000400, // Contextual types have been assigned - AsyncMethodWithSuper = 0x00000800, // An async method that reads a value from a member of 'super'. - AsyncMethodWithSuperBinding = 0x00001000, // An async method that assigns a value to a member of 'super'. + MethodWithSuperPropertyAccessInAsync = 0x00000800, // A method that contains a SuperProperty access in an async context. + MethodWithSuperPropertyAssignmentInAsync = 0x00001000, // A method that contains a SuperProperty assignment in an async context. CaptureArguments = 0x00002000, // Lexical 'arguments' used in body EnumValuesComputed = 0x00004000, // Values for enum members have been computed, and any errors have been reported for them. LexicalModuleMergesWithClass = 0x00008000, // Instantiated lexical module declaration is merged with a previous class declaration. @@ -5569,7 +5571,7 @@ namespace ts { deferredNodes?: Set; // Set of nodes whose checking has been deferred capturedBlockScopeBindings?: Symbol[]; // Block-scoped bindings captured beneath this part of an IterationStatement outerTypeParameters?: TypeParameter[]; // Outer type parameters of anonymous object type - isExhaustive?: boolean; // Is node an exhaustive switch statement + isExhaustive?: boolean | 0; // Is node an exhaustive switch statement (0 indicates in-process resolution) skipDirectInference?: true; // Flag set by the API `getContextualType` call on a node when `Completions` is passed to force the checker to skip making inferences to a node's type declarationRequiresScopeChange?: boolean; // Set by `useOuterVariableScopeInParameter` in checker when downlevel emit would change the name resolution scope inside of a parameter. serializedTypes?: ESMap; // Collection of types serialized at this location @@ -7652,7 +7654,7 @@ namespace ts { // createIdentifier(text: string): Identifier; - /* @internal */ createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind): Identifier; // eslint-disable-line @typescript-eslint/unified-signatures + /* @internal */ createIdentifier(text: string, typeArguments?: readonly (TypeNode | TypeParameterDeclaration)[], originalKeywordKind?: SyntaxKind, hasExtendedUnicodeEscape?: boolean): Identifier; // eslint-disable-line @typescript-eslint/unified-signatures /* @internal */ updateIdentifier(node: Identifier, typeArguments: NodeArray | undefined): Identifier; /** diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index cdc0db9407b34..0571a9c92df0d 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -7752,4 +7752,30 @@ namespace ts { export function getParameterTypeNode(parameter: ParameterDeclaration | JSDocParameterTag) { return parameter.kind === SyntaxKind.JSDocParameterTag ? parameter.typeExpression?.type : parameter.type; } + + export function isTypeDeclaration(node: Node): node is TypeParameterDeclaration | ClassDeclaration | InterfaceDeclaration | TypeAliasDeclaration | JSDocTypedefTag | JSDocCallbackTag | JSDocEnumTag | EnumDeclaration | ImportClause | ImportSpecifier | ExportSpecifier { + switch (node.kind) { + case SyntaxKind.TypeParameter: + case SyntaxKind.ClassDeclaration: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.TypeAliasDeclaration: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.JSDocTypedefTag: + case SyntaxKind.JSDocCallbackTag: + case SyntaxKind.JSDocEnumTag: + return true; + case SyntaxKind.ImportClause: + return (node as ImportClause).isTypeOnly; + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ExportSpecifier: + return (node as ImportSpecifier | ExportSpecifier).parent.parent.isTypeOnly; + default: + return false; + } + } + + export function canHaveExportModifier(node: Node): node is Extract { + return isEnumDeclaration(node) || isVariableStatement(node) || isFunctionDeclaration(node) || isClassDeclaration(node) + || isInterfaceDeclaration(node) || isTypeDeclaration(node) || (isModuleDeclaration(node) && !isExternalModuleAugmentation(node) && !isGlobalScopeAugmentation(node)); + } } diff --git a/src/compiler/watchPublic.ts b/src/compiler/watchPublic.ts index 26c6deb9a259a..011a24f5b7129 100644 --- a/src/compiler/watchPublic.ts +++ b/src/compiler/watchPublic.ts @@ -61,9 +61,9 @@ namespace ts { onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number): void; /** Used to watch changes in source files, missing files needed to update the program or config file */ - watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: CompilerOptions): FileWatcher; + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ - watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: CompilerOptions): FileWatcher; + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher; /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; /** If provided, will be used to reset existing delayed compilation */ diff --git a/src/harness/findUpDir.ts b/src/harness/findUpDir.ts index 3078554f61bd2..013ac51ef0a08 100644 --- a/src/harness/findUpDir.ts +++ b/src/harness/findUpDir.ts @@ -17,5 +17,5 @@ namespace Utils { } export const findUpRoot: { (): string; cached?: string; } = () => - findUpRoot.cached ||= dirname(findUpFile("Gulpfile.js")); + findUpRoot.cached ||= dirname(findUpFile("Gulpfile.mjs")); } diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index 72ceb827adf95..6f88629f8e3ef 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1,4 +1,3 @@ - namespace FourSlash { import ArrayOrSingle = FourSlashInterface.ArrayOrSingle; @@ -529,8 +528,8 @@ namespace FourSlash { } } - public verifyOrganizeImports(newContent: string) { - const changes = this.languageService.organizeImports({ fileName: this.activeFile.fileName, type: "file" }, this.formatCodeSettings, ts.emptyOptions); + public verifyOrganizeImports(newContent: string, mode?: ts.OrganizeImportsMode) { + const changes = this.languageService.organizeImports({ fileName: this.activeFile.fileName, type: "file", mode }, this.formatCodeSettings, ts.emptyOptions); this.applyChanges(changes); this.verifyFileContent(this.activeFile.fileName, newContent); } @@ -3481,8 +3480,18 @@ namespace FourSlash { public verifyRefactorAvailable(negative: boolean, triggerReason: ts.RefactorTriggerReason, name: string, actionName?: string, actionDescription?: string) { let refactors = this.getApplicableRefactorsAtSelection(triggerReason); - refactors = refactors.filter(r => - r.name === name && (actionName === undefined || r.actions.some(a => a.name === actionName)) && (actionDescription === undefined || r.actions.some(a => a.description === actionDescription))); + refactors = refactors.filter(r => r.name === name); + + if (actionName !== undefined) { + refactors.forEach(r => r.actions = r.actions.filter(a => a.name === actionName)); + } + + if (actionDescription !== undefined) { + refactors.forEach(r => r.actions = r.actions.filter(a => a.description === actionDescription)); + } + + refactors = refactors.filter(r => r.actions.length > 0); + const isAvailable = refactors.length > 0; if (negative) { diff --git a/src/harness/fourslashInterfaceImpl.ts b/src/harness/fourslashInterfaceImpl.ts index 52acb7d347eec..12fe11fb1a81e 100644 --- a/src/harness/fourslashInterfaceImpl.ts +++ b/src/harness/fourslashInterfaceImpl.ts @@ -624,8 +624,8 @@ namespace FourSlashInterface { this.state.noMoveToNewFile(); } - public organizeImports(newContent: string) { - this.state.verifyOrganizeImports(newContent); + public organizeImports(newContent: string, mode?: ts.OrganizeImportsMode): void { + this.state.verifyOrganizeImports(newContent, mode); } } diff --git a/src/harness/harnessIO.ts b/src/harness/harnessIO.ts index 87148c13492a7..dd957c50d65f7 100644 --- a/src/harness/harnessIO.ts +++ b/src/harness/harnessIO.ts @@ -177,8 +177,6 @@ namespace Harness { } export const libFolder = "built/local/"; - const tcServicesFileName = ts.combinePaths(libFolder, "typescriptServices.js"); - export const tcServicesFile = IO.readFile(tcServicesFileName) + IO.newLine() + `//# sourceURL=${IO.resolvePath(tcServicesFileName)}`; export type SourceMapEmitterCallback = ( emittedFile: string, @@ -810,21 +808,14 @@ namespace Harness { typeLines += ">" + formattedLine + "\r\n"; } - // Preserve legacy behavior - if (lastIndexWritten === undefined) { - for (const codeLine of codeLines) { - typeLines += codeLine + "\r\nNo type information for this code."; + lastIndexWritten ??= -1; + if (lastIndexWritten + 1 < codeLines.length) { + if (!((lastIndexWritten + 1 < codeLines.length) && (codeLines[lastIndexWritten + 1].match(/^\s*[{|}]\s*$/) || codeLines[lastIndexWritten + 1].trim() === ""))) { + typeLines += "\r\n"; } + typeLines += codeLines.slice(lastIndexWritten + 1).join("\r\n"); } - else { - if (lastIndexWritten + 1 < codeLines.length) { - if (!((lastIndexWritten + 1 < codeLines.length) && (codeLines[lastIndexWritten + 1].match(/^\s*[{|}]\s*$/) || codeLines[lastIndexWritten + 1].trim() === ""))) { - typeLines += "\r\n"; - } - typeLines += codeLines.slice(lastIndexWritten + 1).join("\r\n"); - } - typeLines += "\r\n"; - } + typeLines += "\r\n"; yield [checkDuplicatedFileName(unitName, dupeCase), Utils.removeTestPathPrefixes(typeLines)]; } } diff --git a/src/harness/virtualFileSystemWithWatch.ts b/src/harness/virtualFileSystemWithWatch.ts index d8a30e66580d0..f5979f9c3876d 100644 --- a/src/harness/virtualFileSystemWithWatch.ts +++ b/src/harness/virtualFileSystemWithWatch.ts @@ -350,7 +350,6 @@ interface Array { length: number; [n: number]: T; }` private readonly executingFilePath: string; private readonly currentDirectory: string; public require: ((initialPath: string, moduleName: string) => RequireResult) | undefined; - public defaultWatchFileKind?: () => WatchFileKind | undefined; public storeFilesChangingSignatureDuringEmit = true; watchFile: HostWatchFile; private inodeWatching: boolean | undefined; @@ -398,7 +397,6 @@ interface Array { length: number; [n: number]: T; }` realpath: this.realpath.bind(this), tscWatchFile, tscWatchDirectory, - defaultWatchFileKind: () => this.defaultWatchFileKind?.(), inodeWatching: !!this.inodeWatching, sysLog: s => this.write(s + this.newLine), }); diff --git a/src/instrumenter/instrumenter.ts b/src/instrumenter/instrumenter.ts deleted file mode 100644 index c7cbb8d3ec855..0000000000000 --- a/src/instrumenter/instrumenter.ts +++ /dev/null @@ -1,43 +0,0 @@ -import fs = require("fs"); -import path = require("path"); - -function instrumentForRecording(fn: string, tscPath: string) { - instrument(tscPath, ` -ts.sys = Playback.wrapSystem(ts.sys); -ts.sys.startRecord("${ fn }");`, `ts.sys.endRecord();`); -} - -function instrumentForReplay(logFilename: string, tscPath: string) { - instrument(tscPath, ` -ts.sys = Playback.wrapSystem(ts.sys); -ts.sys.startReplay("${ logFilename }");`); -} - -function instrument(tscPath: string, prepareCode: string, cleanupCode = "") { - const bak = `${tscPath}.bak`; - const filename = fs.existsSync(bak) ? bak : tscPath; - const tscContent = fs.readFileSync(filename, "utf-8"); - fs.writeFileSync(bak, tscContent); - const loggerContent = fs.readFileSync(path.resolve(path.dirname(tscPath) + "/loggedIO.js"), "utf-8"); - const invocationLine = "ts.executeCommandLine(ts.sys, ts.noop, ts.sys.args);"; - const index1 = tscContent.indexOf(invocationLine); - if (index1 < 0) { - throw new Error(`Could not find ${invocationLine}`); - } - const index2 = index1 + invocationLine.length; - const newContent = tscContent.substr(0, index1) + loggerContent + prepareCode + invocationLine + cleanupCode + tscContent.substr(index2) + "\r\n"; - fs.writeFileSync(tscPath, newContent); -} - -const isJson = (arg: string) => arg.indexOf(".json") > 0; - -const record = process.argv.indexOf("record"); -const tscPath = process.argv[process.argv.length - 1]; -if (record >= 0) { - console.log(`Instrumenting ${tscPath} for recording`); - instrumentForRecording(process.argv[record + 1], tscPath); -} -else if (process.argv.some(isJson)) { - const filename = process.argv.filter(isJson)[0]; - instrumentForReplay(filename, tscPath); -} diff --git a/src/instrumenter/tsconfig.json b/src/instrumenter/tsconfig.json deleted file mode 100644 index 2f5b33f9e7f50..0000000000000 --- a/src/instrumenter/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "lib": [ - "es6", - "dom", - "scripthost" - ], - "outDir": "../../built/local", - "sourceMap": true - }, - "files": [ - "instrumenter.ts" - ] -} \ No newline at end of file diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index fd0d7a12b2ef7..7a106f0314862 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -117,11 +117,13 @@ interface AudioWorkletNodeOptions extends AudioNodeOptions { interface AuthenticationExtensionsClientInputs { appid?: string; credProps?: boolean; + hmacCreateSecret?: boolean; } interface AuthenticationExtensionsClientOutputs { appid?: boolean; credProps?: CredentialPropertiesOutput; + hmacCreateSecret?: boolean; } interface AuthenticatorSelectionCriteria { @@ -1324,6 +1326,7 @@ interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats { frameHeight?: number; frameWidth?: number; framesDecoded?: number; + framesDropped?: number; framesPerSecond?: number; framesReceived?: number; headerBytesReceived?: number; @@ -1343,6 +1346,7 @@ interface RTCInboundRtpStreamStats extends RTCReceivedRtpStreamStats { totalAudioEnergy?: number; totalDecodeTime?: number; totalInterFrameDelay?: number; + totalProcessingDelay?: number; totalSamplesDuration?: number; totalSamplesReceived?: number; totalSquaredInterFrameDelay?: number; @@ -1401,7 +1405,6 @@ interface RTCPeerConnectionIceEventInit extends EventInit { } interface RTCReceivedRtpStreamStats extends RTCRtpStreamStats { - framesDropped?: number; jitter?: number; packetsLost?: number; packetsReceived?: number; @@ -1446,6 +1449,8 @@ interface RTCRtpContributingSource { interface RTCRtpEncodingParameters extends RTCRtpCodingParameters { active?: boolean; maxBitrate?: number; + maxFramerate?: number; + networkPriority?: RTCPriorityType; priority?: RTCPriorityType; scaleResolutionDownBy?: number; } @@ -1866,10 +1871,10 @@ interface ValidityStateFlags { } interface VideoColorSpaceInit { - fullRange?: boolean; - matrix?: VideoMatrixCoefficients; - primaries?: VideoColorPrimaries; - transfer?: VideoTransferCharacteristics; + fullRange?: boolean | null; + matrix?: VideoMatrixCoefficients | null; + primaries?: VideoColorPrimaries | null; + transfer?: VideoTransferCharacteristics | null; } interface VideoConfiguration { @@ -1884,7 +1889,7 @@ interface VideoConfiguration { width: number; } -interface VideoFrameMetadata { +interface VideoFrameCallbackMetadata { captureTime?: DOMHighResTimeStamp; expectedDisplayTime: DOMHighResTimeStamp; height: number; @@ -2046,7 +2051,7 @@ interface AbortSignal extends EventTarget { declare var AbortSignal: { prototype: AbortSignal; new(): AbortSignal; - // abort(): AbortSignal; - To be re-added in the future + abort(reason?: any): AbortSignal; timeout(milliseconds: number): AbortSignal; }; @@ -2182,7 +2187,7 @@ declare var AnimationPlaybackEvent: { }; interface AnimationTimeline { - readonly currentTime: number | null; + readonly currentTime: CSSNumberish | null; } declare var AnimationTimeline: { @@ -2435,6 +2440,8 @@ declare var AuthenticatorAssertionResponse: { interface AuthenticatorAttestationResponse extends AuthenticatorResponse { readonly attestationObject: ArrayBuffer; getAuthenticatorData(): ArrayBuffer; + getPublicKey(): ArrayBuffer | null; + getPublicKeyAlgorithm(): COSEAlgorithmIdentifier; getTransports(): string[]; } @@ -2634,6 +2641,14 @@ declare var CSSConditionRule: { new(): CSSConditionRule; }; +interface CSSContainerRule extends CSSConditionRule { +} + +declare var CSSContainerRule: { + prototype: CSSContainerRule; + new(): CSSContainerRule; +}; + interface CSSCounterStyleRule extends CSSRule { additiveSymbols: string; fallback: string; @@ -2943,6 +2958,9 @@ interface CSSStyleDeclaration { columnWidth: string; columns: string; contain: string; + container: string; + containerName: string; + containerType: string; content: string; counterIncrement: string; counterReset: string; @@ -3011,6 +3029,7 @@ interface CSSStyleDeclaration { gridTemplateColumns: string; gridTemplateRows: string; height: string; + hyphenateCharacter: string; hyphens: string; /** @deprecated */ imageOrientation: string; @@ -3087,6 +3106,7 @@ interface CSSStyleDeclaration { outlineWidth: string; overflow: string; overflowAnchor: string; + overflowClipMargin: string; overflowWrap: string; overflowX: string; overflowY: string; @@ -3544,6 +3564,7 @@ interface CanvasPath { moveTo(x: number, y: number): void; quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; rect(x: number, y: number, w: number, h: number): void; + roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void; } interface CanvasPathDrawingStyles { @@ -4950,6 +4971,17 @@ interface EXT_texture_filter_anisotropic { readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; } +interface EXT_texture_norm16 { + readonly R16_EXT: GLenum; + readonly R16_SNORM_EXT: GLenum; + readonly RG16_EXT: GLenum; + readonly RG16_SNORM_EXT: GLenum; + readonly RGB16_EXT: GLenum; + readonly RGB16_SNORM_EXT: GLenum; + readonly RGBA16_EXT: GLenum; + readonly RGBA16_SNORM_EXT: GLenum; +} + interface ElementEventMap { "fullscreenchange": Event; "fullscreenerror": Event; @@ -6290,6 +6322,7 @@ interface HTMLCanvasElement extends HTMLElement { * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. */ toDataURL(type?: string, quality?: any): string; + transferControlToOffscreen(): OffscreenCanvas; addEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLCanvasElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -9004,7 +9037,7 @@ declare var ImageBitmap: { interface ImageBitmapRenderingContext { /** Returns the canvas element that the context is bound to. */ - readonly canvas: HTMLCanvasElement; + readonly canvas: HTMLCanvasElement | OffscreenCanvas; /** Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound. */ transferFromImageBitmap(bitmap: ImageBitmap | null): void; } @@ -9035,6 +9068,7 @@ interface InnerHTML { innerHTML: string; } +/** Available only in secure contexts. */ interface InputDeviceInfo extends MediaDeviceInfo { } @@ -10239,6 +10273,16 @@ declare var Notification: { requestPermission(deprecatedCallback?: NotificationPermissionCallback): Promise; }; +interface OES_draw_buffers_indexed { + blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void; + blendEquationiOES(buf: GLuint, mode: GLenum): void; + blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void; + colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void; + disableiOES(target: GLenum, index: GLuint): void; + enableiOES(target: GLenum, index: GLuint): void; +} + /** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */ interface OES_element_index_uint { } @@ -10317,6 +10361,57 @@ declare var OfflineAudioContext: { new(numberOfChannels: number, length: number, sampleRate: number): OfflineAudioContext; }; +interface OffscreenCanvasEventMap { + "contextlost": Event; + "contextrestored": Event; +} + +interface OffscreenCanvas extends EventTarget { + /** + * These attributes return the dimensions of the OffscreenCanvas object's bitmap. + * + * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). + */ + height: number; + oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null; + oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null; + /** + * These attributes return the dimensions of the OffscreenCanvas object's bitmap. + * + * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). + */ + width: number; + /** + * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API. + * + * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL] + * + * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context). + */ + getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null; + /** Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. */ + transferToImageBitmap(): ImageBitmap; + addEventListener(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var OffscreenCanvas: { + prototype: OffscreenCanvas; + new(width: number, height: number): OffscreenCanvas; +}; + +interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { + readonly canvas: OffscreenCanvas; + commit(): void; +} + +declare var OffscreenCanvasRenderingContext2D: { + prototype: OffscreenCanvasRenderingContext2D; + new(): OffscreenCanvasRenderingContext2D; +}; + /** The OscillatorNode interface represents a periodic waveform, such as a sine wave. It is an AudioScheduledSourceNode audio-processing module that causes a specified frequency of a given wave to be created—in effect, a constant tone. */ interface OscillatorNode extends AudioScheduledSourceNode { readonly detune: AudioParam; @@ -16027,7 +16122,7 @@ declare var WebGLRenderingContext: { }; interface WebGLRenderingContextBase { - readonly canvas: HTMLCanvasElement; + readonly canvas: HTMLCanvasElement | OffscreenCanvas; readonly drawingBufferHeight: GLsizei; readonly drawingBufferWidth: GLsizei; activeTexture(texture: GLenum): void; @@ -17505,7 +17600,7 @@ interface UnderlyingSourceStartCallback { } interface VideoFrameRequestCallback { - (now: DOMHighResTimeStamp, metadata: VideoFrameMetadata): void; + (now: DOMHighResTimeStamp, metadata: VideoFrameCallbackMetadata): void; } interface VoidFunction { @@ -18182,7 +18277,7 @@ type BodyInit = ReadableStream | XMLHttpRequestBodyInit; type BufferSource = ArrayBufferView | ArrayBuffer; type COSEAlgorithmIdentifier = number; type CSSNumberish = number; -type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; +type CanvasImageSource = HTMLOrSVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas; type ClipboardItemData = Promise; type ClipboardItems = ClipboardItem[]; type ConstrainBoolean = boolean | ConstrainBooleanParameters; @@ -18219,6 +18314,7 @@ type MediaProvider = MediaStream | MediaSource | Blob; type MessageEventSource = WindowProxy | MessagePort | ServiceWorker; type MutationRecordType = "attributes" | "characterData" | "childList"; type NamedCurve = string; +type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext; type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null; type OnErrorEventHandler = OnErrorEventHandlerNonNull | null; type PerformanceEntryList = PerformanceEntry[]; @@ -18227,9 +18323,9 @@ type ReadableStreamReadResult = ReadableStreamReadValueResult | ReadableSt type ReadableStreamReader = ReadableStreamDefaultReader | ReadableStreamBYOBReader; type RenderingContext = CanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext; type RequestInfo = Request | string; -type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement; +type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas; type TimerHandler = string | Function; -type Transferable = ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | ArrayBuffer; +type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | ArrayBuffer; type Uint32List = Uint32Array | GLuint[]; type VibratePattern = number | number[]; type WindowProxy = Window; @@ -18309,6 +18405,7 @@ type MediaStreamTrackState = "ended" | "live"; type NavigationTimingType = "back_forward" | "navigate" | "prerender" | "reload"; type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; +type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2" | "webgpu"; type OrientationLockType = "any" | "landscape" | "landscape-primary" | "landscape-secondary" | "natural" | "portrait" | "portrait-primary" | "portrait-secondary"; type OrientationType = "landscape-primary" | "landscape-secondary" | "portrait-primary" | "portrait-secondary"; type OscillatorType = "custom" | "sawtooth" | "sine" | "square" | "triangle"; diff --git a/src/lib/dom.iterable.generated.d.ts b/src/lib/dom.iterable.generated.d.ts index 24821565a9d54..6ba7a965f0bb0 100644 --- a/src/lib/dom.iterable.generated.d.ts +++ b/src/lib/dom.iterable.generated.d.ts @@ -26,6 +26,10 @@ interface Cache { addAll(requests: Iterable): Promise; } +interface CanvasPath { + roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable): void; +} + interface CanvasPathDrawingStyles { setLineDash(segments: Iterable): void; } @@ -253,8 +257,8 @@ interface WEBGL_draw_buffers { interface WEBGL_multi_draw { multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable, firstsOffset: GLuint, countsList: Int32Array | Iterable, countsOffset: GLuint, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: GLuint, drawcount: GLsizei): void; multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable, firstsOffset: GLuint, countsList: Int32Array | Iterable, countsOffset: GLuint, drawcount: GLsizei): void; - multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: GLuint, drawcount: GLsizei): void; - multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, drawcount: GLsizei): void; + multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: GLuint, drawcount: GLsizei): void; + multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, drawcount: GLsizei): void; } interface WebGL2RenderingContextBase { diff --git a/src/lib/es2015.symbol.wellknown.d.ts b/src/lib/es2015.symbol.wellknown.d.ts index 8911baa9bb9cf..f27dc68850016 100644 --- a/src/lib/es2015.symbol.wellknown.d.ts +++ b/src/lib/es2015.symbol.wellknown.d.ts @@ -219,9 +219,9 @@ interface String { match(matcher: { [Symbol.match](string: string): RegExpMatchArray | null; }): RegExpMatchArray | null; /** - * Replaces first match with string or all matches with RegExp. - * @param searchValue A string or RegExp search value. - * @param replaceValue A string containing the text to replace for match. + * Passes a string and {@linkcode replaceValue} to the `[Symbol.replace]` method on {@linkcode searchValue}. This method is expected to implement its own replacement algorithm. + * @param searchValue An object that supports searching for and replacing matches within a string. + * @param replaceValue The replacement text. */ replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string; diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index 36c4e4fff24b0..f224b095ba40b 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -423,8 +423,8 @@ interface String { /** * Replaces text in a string, using a regular expression or search string. - * @param searchValue A string to search for. - * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. + * @param searchValue A string or regular expression to search for. + * @param replaceValue A string containing the text to replace. When the {@linkcode searchValue} is a `RegExp`, all matches are replaced if the `g` flag is set (or only those matches at the beginning, if the `y` flag is also present). Otherwise, only the first match of {@linkcode searchValue} is replaced. */ replace(searchValue: string | RegExp, replaceValue: string): string; @@ -911,6 +911,7 @@ interface DateConstructor { * @param ms A number from 0 to 999 that specifies the milliseconds. */ UTC(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + /** Returns the number of milliseconds elapsed since midnight, January 1, 1970 Universal Coordinated Time (UTC). */ now(): number; } diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index a7c18fc9365a8..07cdbdc12a237 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -679,10 +679,10 @@ interface UnderlyingSource { } interface VideoColorSpaceInit { - fullRange?: boolean; - matrix?: VideoMatrixCoefficients; - primaries?: VideoColorPrimaries; - transfer?: VideoTransferCharacteristics; + fullRange?: boolean | null; + matrix?: VideoMatrixCoefficients | null; + primaries?: VideoColorPrimaries | null; + transfer?: VideoTransferCharacteristics | null; } interface VideoConfiguration { @@ -732,7 +732,7 @@ interface AbortController { /** Returns the AbortSignal object associated with this object. */ readonly signal: AbortSignal; /** Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. */ - // abort(): AbortSignal; - To be re-added in the future + abort(reason?: any): void; } declare var AbortController: { @@ -878,6 +878,44 @@ declare var CacheStorage: { new(): CacheStorage; }; +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: GlobalCompositeOperation; +} + +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; +} + +interface CanvasDrawPath { + beginPath(): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + fill(fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; + stroke(): void; + stroke(path: Path2D): void; +} + +interface CanvasFillStrokeStyles { + fillStyle: string | CanvasGradient | CanvasPattern; + strokeStyle: string | CanvasGradient | CanvasPattern; + createConicGradient(startAngle: number, x: number, y: number): CanvasGradient; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; +} + +interface CanvasFilters { + filter: string; +} + /** An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient(). */ interface CanvasGradient { /** @@ -893,6 +931,19 @@ declare var CanvasGradient: { new(): CanvasGradient; }; +interface CanvasImageData { + createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; +} + +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; +} + interface CanvasPath { arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void; arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; @@ -903,6 +954,17 @@ interface CanvasPath { moveTo(x: number, y: number): void; quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; rect(x: number, y: number, w: number, h: number): void; + roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void; +} + +interface CanvasPathDrawingStyles { + lineCap: CanvasLineCap; + lineDashOffset: number; + lineJoin: CanvasLineJoin; + lineWidth: number; + miterLimit: number; + getLineDash(): number[]; + setLineDash(segments: number[]): void; } /** An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method. */ @@ -916,6 +978,49 @@ declare var CanvasPattern: { new(): CanvasPattern; }; +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasShadowStyles { + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; +} + +interface CanvasState { + restore(): void; + save(): void; +} + +interface CanvasText { + fillText(text: string, x: number, y: number, maxWidth?: number): void; + measureText(text: string): TextMetrics; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; +} + +interface CanvasTextDrawingStyles { + direction: CanvasDirection; + font: string; + fontKerning: CanvasFontKerning; + textAlign: CanvasTextAlign; + textBaseline: CanvasTextBaseline; +} + +interface CanvasTransform { + getTransform(): DOMMatrix; + resetTransform(): void; + rotate(angle: number): void; + scale(x: number, y: number): void; + setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; + setTransform(transform?: DOMMatrix2DInit): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + translate(x: number, y: number): void; +} + /** The Client interface represents an executable context such as a Worker, or a SharedWorker. Window clients are represented by the more-specific WindowClient. You can get Client/WindowClient objects from methods such as Clients.matchAll() and Clients.get(). */ interface Client { readonly frameType: FrameType; @@ -1342,6 +1447,17 @@ interface EXT_texture_filter_anisotropic { readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; } +interface EXT_texture_norm16 { + readonly R16_EXT: GLenum; + readonly R16_SNORM_EXT: GLenum; + readonly RG16_EXT: GLenum; + readonly RG16_SNORM_EXT: GLenum; + readonly RGB16_EXT: GLenum; + readonly RGB16_SNORM_EXT: GLenum; + readonly RGBA16_EXT: GLenum; + readonly RGBA16_SNORM_EXT: GLenum; +} + /** Events providing information related to errors in scripts or in files. */ interface ErrorEvent extends Event { readonly colno: number; @@ -2376,6 +2492,16 @@ declare var NotificationEvent: { new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; }; +interface OES_draw_buffers_indexed { + blendEquationSeparateiOES(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum): void; + blendEquationiOES(buf: GLuint, mode: GLenum): void; + blendFuncSeparateiOES(buf: GLuint, srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; + blendFunciOES(buf: GLuint, src: GLenum, dst: GLenum): void; + colorMaskiOES(buf: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean): void; + disableiOES(target: GLenum, index: GLuint): void; + enableiOES(target: GLenum, index: GLuint): void; +} + /** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */ interface OES_element_index_uint { } @@ -2421,10 +2547,57 @@ interface OVR_multiview2 { readonly MAX_VIEWS_OVR: GLenum; } -/** @deprecated this is not available in most browsers */ +interface OffscreenCanvasEventMap { + "contextlost": Event; + "contextrestored": Event; +} + interface OffscreenCanvas extends EventTarget { + /** + * These attributes return the dimensions of the OffscreenCanvas object's bitmap. + * + * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). + */ + height: number; + oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null; + oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null; + /** + * These attributes return the dimensions of the OffscreenCanvas object's bitmap. + * + * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). + */ + width: number; + /** + * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API. + * + * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL] + * + * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context). + */ + getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null; + /** Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. */ + transferToImageBitmap(): ImageBitmap; + addEventListener(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: OffscreenCanvas, ev: OffscreenCanvasEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } +declare var OffscreenCanvas: { + prototype: OffscreenCanvas; + new(width: number, height: number): OffscreenCanvas; +}; + +interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { + readonly canvas: OffscreenCanvas; + commit(): void; +} + +declare var OffscreenCanvasRenderingContext2D: { + prototype: OffscreenCanvasRenderingContext2D; + new(): OffscreenCanvasRenderingContext2D; +}; + /** This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired. */ interface Path2D extends CanvasPath { /** Adds to the path the path given by the argument. */ @@ -5920,6 +6093,7 @@ type ImageBitmapSource = CanvasImageSource | Blob | ImageData; type Int32List = Int32Array | GLint[]; type MessageEventSource = MessagePort | ServiceWorker; type NamedCurve = string; +type OffscreenRenderingContext = OffscreenCanvasRenderingContext2D | ImageBitmapRenderingContext | WebGLRenderingContext | WebGL2RenderingContext; type OnErrorEventHandler = OnErrorEventHandlerNonNull | null; type PerformanceEntryList = PerformanceEntry[]; type PushMessageDataInit = BufferSource | string; @@ -5934,6 +6108,16 @@ type Uint32List = Uint32Array | GLuint[]; type VibratePattern = number | number[]; type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string; type BinaryType = "arraybuffer" | "blob"; +type CanvasDirection = "inherit" | "ltr" | "rtl"; +type CanvasFillRule = "evenodd" | "nonzero"; +type CanvasFontKerning = "auto" | "none" | "normal"; +type CanvasFontStretch = "condensed" | "expanded" | "extra-condensed" | "extra-expanded" | "normal" | "semi-condensed" | "semi-expanded" | "ultra-condensed" | "ultra-expanded"; +type CanvasFontVariantCaps = "all-petite-caps" | "all-small-caps" | "normal" | "petite-caps" | "small-caps" | "titling-caps" | "unicase"; +type CanvasLineCap = "butt" | "round" | "square"; +type CanvasLineJoin = "bevel" | "miter" | "round"; +type CanvasTextAlign = "center" | "end" | "left" | "right" | "start"; +type CanvasTextBaseline = "alphabetic" | "bottom" | "hanging" | "ideographic" | "middle" | "top"; +type CanvasTextRendering = "auto" | "geometricPrecision" | "optimizeLegibility" | "optimizeSpeed"; type ClientTypes = "all" | "sharedworker" | "window" | "worker"; type ColorGamut = "p3" | "rec2020" | "srgb"; type ColorSpaceConversion = "default" | "none"; @@ -5943,12 +6127,14 @@ type FileSystemHandleKind = "directory" | "file"; type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded"; type FontFaceSetLoadStatus = "loaded" | "loading"; type FrameType = "auxiliary" | "nested" | "none" | "top-level"; +type GlobalCompositeOperation = "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor"; type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40"; type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique"; type IDBRequestReadyState = "done" | "pending"; type IDBTransactionDurability = "default" | "relaxed" | "strict"; type IDBTransactionMode = "readonly" | "readwrite" | "versionchange"; type ImageOrientation = "flipY" | "none"; +type ImageSmoothingQuality = "high" | "low" | "medium"; type KeyFormat = "jwk" | "pkcs8" | "raw" | "spki"; type KeyType = "private" | "public" | "secret"; type KeyUsage = "decrypt" | "deriveBits" | "deriveKey" | "encrypt" | "sign" | "unwrapKey" | "verify" | "wrapKey"; @@ -5957,6 +6143,7 @@ type MediaDecodingType = "file" | "media-source" | "webrtc"; type MediaEncodingType = "record" | "webrtc"; type NotificationDirection = "auto" | "ltr" | "rtl"; type NotificationPermission = "default" | "denied" | "granted"; +type OffscreenRenderingContextId = "2d" | "bitmaprenderer" | "webgl" | "webgl2" | "webgpu"; type PermissionName = "geolocation" | "notifications" | "persistent-storage" | "push" | "screen-wake-lock" | "xr-spatial-tracking"; type PermissionState = "denied" | "granted" | "prompt"; type PredefinedColorSpace = "display-p3" | "srgb"; diff --git a/src/lib/webworker.iterable.generated.d.ts b/src/lib/webworker.iterable.generated.d.ts index 9c0d327943381..e088de1956df7 100644 --- a/src/lib/webworker.iterable.generated.d.ts +++ b/src/lib/webworker.iterable.generated.d.ts @@ -6,6 +6,14 @@ interface Cache { addAll(requests: Iterable): Promise; } +interface CanvasPath { + roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable): void; +} + +interface CanvasPathDrawingStyles { + setLineDash(segments: Iterable): void; +} + interface DOMStringList { [Symbol.iterator](): IterableIterator; } @@ -83,8 +91,8 @@ interface WEBGL_draw_buffers { interface WEBGL_multi_draw { multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array | Iterable, firstsOffset: GLuint, countsList: Int32Array | Iterable, countsOffset: GLuint, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: GLuint, drawcount: GLsizei): void; multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array | Iterable, firstsOffset: GLuint, countsList: Int32Array | Iterable, countsOffset: GLuint, drawcount: GLsizei): void; - multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: GLuint, drawcount: GLsizei): void; - multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, drawcount: GLsizei): void; + multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, instanceCountsList: Int32Array | Iterable, instanceCountsOffset: GLuint, drawcount: GLsizei): void; + multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array | Iterable, countsOffset: GLuint, type: GLenum, offsetsList: Int32Array | Iterable, offsetsOffset: GLuint, drawcount: GLsizei): void; } interface WebGL2RenderingContextBase { diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index 491a5205e3847..10158c5a67319 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6153,6 +6153,24 @@ + + + + + + + + + + + + + + + + + + @@ -8460,6 +8478,15 @@ + + + + + + + + + @@ -11307,6 +11334,15 @@ + + + + + + + + + @@ -11823,6 +11859,15 @@ + + + + + + + + + @@ -15294,6 +15339,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 5ac938db518c7..052c89527e79b 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6153,6 +6153,24 @@ + + + + + + + + + + + + + + + + + + @@ -8460,6 +8478,15 @@ + + + + + + + + + @@ -11307,6 +11334,15 @@ + + + + + + + + + @@ -11823,6 +11859,15 @@ + + + + + + + + + @@ -15294,6 +15339,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl index 6dfde4fe463bf..5662c6c06c284 100644 --- a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6162,6 +6162,24 @@ + + + + + + + + + + + + + + + + + + @@ -8469,6 +8487,15 @@ + + + + + + + + + @@ -11316,6 +11343,15 @@ + + + + + + + + + @@ -11832,6 +11868,15 @@ + + + + + + + + + @@ -15303,6 +15348,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl index 9a49e6a0153ab..b4b100d057a02 100644 --- a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6150,6 +6150,24 @@ + + + + + + + + + + + + + + + + + + @@ -8457,6 +8475,15 @@ + + + + + + + + + @@ -11301,6 +11328,15 @@ + + + + + + + + + @@ -11817,6 +11853,15 @@ + + + + + + + + + @@ -15288,6 +15333,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 72639b61e4da3..3b7e833f5d131 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6165,6 +6165,24 @@ + + + + + + + + + + + + + + + + + + @@ -8472,6 +8490,15 @@ + + + + + + + + + @@ -11319,6 +11346,15 @@ + + + + + + + + + @@ -11835,6 +11871,15 @@ + + + + + + + + + @@ -15306,6 +15351,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl index b483ab9f285fe..e38f7afba5220 100644 --- a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6165,6 +6165,24 @@ + + + + + + + + + + + + + + + + + + @@ -8472,6 +8490,15 @@ + + + + + + + + + @@ -11319,6 +11346,15 @@ + + + + + + + + + @@ -11835,6 +11871,15 @@ + + + + + + + + + @@ -15306,6 +15351,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl index 92308dd71b961..1ae0ae5f28511 100644 --- a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6153,6 +6153,24 @@ + + + + + + + + + + + + + + + + + + @@ -8460,6 +8478,15 @@ + + + + + + + + + @@ -11307,6 +11334,15 @@ + + + + + + + + + @@ -11823,6 +11859,15 @@ + + + + + + + + + @@ -15294,6 +15339,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 1ea8603b279bb..1c1c8f2b9c54f 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6153,6 +6153,24 @@ + + + + + + + + + + + + + + + + + + @@ -8460,6 +8478,15 @@ + + + + + + + + + @@ -11307,6 +11334,15 @@ + + + + + + + + + @@ -11823,6 +11859,15 @@ + + + + + + + + + @@ -15294,6 +15339,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index 31ea3324ef72e..bf30af5f1d199 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6153,6 +6153,24 @@ + + + + + + + + + + + + + + + + + + @@ -8460,6 +8478,15 @@ + + + + + + + + + @@ -11307,6 +11334,15 @@ + + + + + + + + + @@ -11823,6 +11859,15 @@ + + + + + + + + + @@ -15294,6 +15339,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 9a2deda2f7e66..8ed5005ebc75a 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6143,6 +6143,24 @@ + + + + + + + + + + + + + + + + + + @@ -8450,6 +8468,15 @@ + + + + + + + + + @@ -11294,6 +11321,15 @@ + + + + + + + + + @@ -11810,6 +11846,15 @@ + + + + + + + + + @@ -15281,6 +15326,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl index f087c0e7a39d2..58ec60b3c8345 100644 --- a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6146,6 +6146,24 @@ + + + + + + + + + + + + + + + + + + @@ -8453,6 +8471,15 @@ + + + + + + + + + @@ -11297,6 +11324,15 @@ + + + + + + + + + @@ -11813,6 +11849,15 @@ + + + + + + + + + @@ -15284,6 +15329,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl index 8d729d7572889..d226d274a4b89 100644 --- a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6152,6 +6152,24 @@ + + + + + + + + + + + + + + + + + + @@ -8459,6 +8477,15 @@ + + + + + + + + + @@ -11306,6 +11333,15 @@ + + + + + + + + + @@ -11822,6 +11858,15 @@ + + + + + + + + + @@ -15293,6 +15338,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 6a657a04999d6..0144a1042dbd8 100644 --- a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -6146,6 +6146,24 @@ + + + + + + + + + + + + + + + + + + @@ -8453,6 +8471,15 @@ + + + + + + + + + @@ -11300,6 +11327,15 @@ + + + + + + + + + @@ -11816,6 +11852,15 @@ + + + + + + + + + @@ -15287,6 +15332,15 @@ + + + + + + + + + diff --git a/src/loggedIO/tsconfig-tsc-instrumented.json b/src/loggedIO/tsconfig-tsc-instrumented.json deleted file mode 100644 index 4a0939cfc4133..0000000000000 --- a/src/loggedIO/tsconfig-tsc-instrumented.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "../tsconfig-base", - "compilerOptions": { - "outFile": "../../built/local/loggedIO.js", - "types": [ - "node", "mocha", "chai" - ], - "lib": [ - "es6", - "scripthost" - ] - }, - "references": [ - { "path": "../compiler", "prepend": true }, - { "path": "../services", "prepend": true }, - { "path": "../jsTyping", "prepend": true }, - { "path": "../server", "prepend": true }, - { "path": "../typingsInstallerCore", "prepend": true }, - { "path": "../harness", "prepend": true }, - ], - - "files": [ - "loggedIO.ts" - ] -} diff --git a/src/server/project.ts b/src/server/project.ts index 05e6442a84c42..14c98583bd6a7 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -143,7 +143,8 @@ namespace ts.server { private missingFilesMap: ESMap | undefined; private generatedFilesMap: GeneratedFileWatcherMap | undefined; - private plugins: PluginModuleWithName[] = []; + /*@internal*/ + protected readonly plugins: PluginModuleWithName[] = []; /*@internal*/ /** @@ -845,6 +846,7 @@ namespace ts.server { this.directoryStructureHost = undefined!; this.exportMapCache = undefined; this.projectErrors = undefined; + this.plugins.length = 0; // Clean up file watchers waiting for missing files if (this.missingFilesMap) { @@ -1604,7 +1606,18 @@ namespace ts.server { return !!this.program && this.program.isSourceOfProjectReferenceRedirect(fileName); } + /*@internal*/ + protected getGlobalPluginSearchPaths() { + // Search any globally-specified probe paths, then our peer node_modules + return [ + ...this.projectService.pluginProbeLocations, + // ../../.. to walk from X/node_modules/typescript/lib/tsserver.js to X/node_modules/ + combinePaths(this.projectService.getExecutingFilePath(), "../../.."), + ]; + } + protected enableGlobalPlugins(options: CompilerOptions, pluginConfigOverrides: Map | undefined): void { + if (!this.projectService.globalPlugins.length) return; const host = this.projectService.host; if (!host.require && !host.importPlugin) { @@ -1612,27 +1625,19 @@ namespace ts.server { return; } - // Search any globally-specified probe paths, then our peer node_modules - const searchPaths = [ - ...this.projectService.pluginProbeLocations, - // ../../.. to walk from X/node_modules/typescript/lib/tsserver.js to X/node_modules/ - combinePaths(this.projectService.getExecutingFilePath(), "../../.."), - ]; - - if (this.projectService.globalPlugins) { - // Enable global plugins with synthetic configuration entries - for (const globalPluginName of this.projectService.globalPlugins) { - // Skip empty names from odd commandline parses - if (!globalPluginName) continue; + // Enable global plugins with synthetic configuration entries + const searchPaths = this.getGlobalPluginSearchPaths(); + for (const globalPluginName of this.projectService.globalPlugins) { + // Skip empty names from odd commandline parses + if (!globalPluginName) continue; - // Skip already-locally-loaded plugins - if (options.plugins && options.plugins.some(p => p.name === globalPluginName)) continue; + // Skip already-locally-loaded plugins + if (options.plugins && options.plugins.some(p => p.name === globalPluginName)) continue; - // Provide global: true so plugins can detect why they can't find their config - this.projectService.logger.info(`Loading global plugin ${globalPluginName}`); + // Provide global: true so plugins can detect why they can't find their config + this.projectService.logger.info(`Loading global plugin ${globalPluginName}`); - this.enablePlugin({ name: globalPluginName, global: true } as PluginImport, searchPaths, pluginConfigOverrides); - } + this.enablePlugin({ name: globalPluginName, global: true } as PluginImport, searchPaths, pluginConfigOverrides); } } @@ -2521,16 +2526,15 @@ namespace ts.server { /*@internal*/ enablePluginsWithOptions(options: CompilerOptions, pluginConfigOverrides: ESMap | undefined): void { + this.plugins.length = 0; + if (!options.plugins?.length && !this.projectService.globalPlugins.length) return; const host = this.projectService.host; if (!host.require && !host.importPlugin) { this.projectService.logger.info("Plugins were requested but not running in environment that supports 'require'. Nothing will be loaded"); return; } - // Search our peer node_modules, then any globally-specified probe paths - // ../../.. to walk from X/node_modules/typescript/lib/tsserver.js to X/node_modules/ - const searchPaths = [combinePaths(this.projectService.getExecutingFilePath(), "../../.."), ...this.projectService.pluginProbeLocations]; - + const searchPaths = this.getGlobalPluginSearchPaths(); if (this.projectService.allowLocalPluginLoads) { const local = getDirectoryPath(this.canonicalConfigFilePath); this.projectService.logger.info(`Local plugin loading enabled; adding ${local} to search paths`); diff --git a/src/server/protocol.ts b/src/server/protocol.ts index e78d2262b5bca..e4d4a2e2d625f 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -681,9 +681,17 @@ namespace ts.server.protocol { export type OrganizeImportsScope = GetCombinedCodeFixScope; + export const enum OrganizeImportsMode { + All = "All", + SortAndCombine = "SortAndCombine", + RemoveUnused = "RemoveUnused", + } + export interface OrganizeImportsRequestArgs { scope: OrganizeImportsScope; + /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; + mode?: OrganizeImportsMode; } export interface OrganizeImportsResponse extends Response { @@ -1150,12 +1158,14 @@ namespace ts.server.protocol { } export interface ReferencesResponseItem extends FileSpanWithContext { - /** Text of line containing the reference. Including this - * with the response avoids latency of editor loading files - * to show text of reference line (the server already has - * loaded the referencing files). + /** + * Text of line containing the reference. Including this + * with the response avoids latency of editor loading files + * to show text of reference line (the server already has loaded the referencing files). + * + * If {@link UserPreferences.disableLineTextInReferences} is enabled, the property won't be filled */ - lineText: string; + lineText?: string; /** * True if reference is a write location, false otherwise. @@ -3470,6 +3480,11 @@ namespace ts.server.protocol { readonly includeInlayFunctionLikeReturnTypeHints?: boolean; readonly includeInlayEnumMemberValueHints?: boolean; readonly autoImportFileExcludePatterns?: string[]; + + /** + * Indicates whether {@link ReferencesResponseItem.lineText} is supported. + */ + readonly disableLineTextInReferences?: boolean; } export interface CompilerOptions { diff --git a/src/server/session.ts b/src/server/session.ts index 7f7940ae8b3de..8e63f93556dba 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -1807,6 +1807,7 @@ namespace ts.server { if (!simplifiedResult) return references; + const preferences = this.getPreferences(file); const defaultProject = this.getDefaultProject(args); const scriptInfo = defaultProject.getScriptInfoForNormalizedPath(file)!; const nameInfo = defaultProject.getLanguageService().getQuickInfoAtPosition(file, position); @@ -1815,7 +1816,7 @@ namespace ts.server { const symbolStartOffset = nameSpan ? scriptInfo.positionToLineOffset(nameSpan.start).offset : 0; const symbolName = nameSpan ? scriptInfo.getSnapshot().getText(nameSpan.start, textSpanEnd(nameSpan)) : ""; const refs: readonly protocol.ReferencesResponseItem[] = flatMap(references, referencedSymbol => { - return referencedSymbol.references.map(entry => referenceEntryToReferencesResponseItem(this.projectService, entry)); + return referencedSymbol.references.map(entry => referenceEntryToReferencesResponseItem(this.projectService, entry, preferences)); }); return { refs, symbolName, symbolStartOffset, symbolDisplayString }; } @@ -1823,6 +1824,7 @@ namespace ts.server { private getFileReferences(args: protocol.FileRequestArgs, simplifiedResult: boolean): protocol.FileReferencesResponseBody | readonly ReferenceEntry[] { const projects = this.getProjects(args); const fileName = args.file; + const preferences = this.getPreferences(toNormalizedPath(fileName)); const references: ReferenceEntry[] = []; const seen = createDocumentSpanSet(); @@ -1842,7 +1844,7 @@ namespace ts.server { }); if (!simplifiedResult) return references; - const refs = references.map(entry => referenceEntryToReferencesResponseItem(this.projectService, entry)); + const refs = references.map(entry => referenceEntryToReferencesResponseItem(this.projectService, entry, preferences)); return { refs, symbolName: `"${args.file}"` @@ -2533,7 +2535,7 @@ namespace ts.server { const changes = project.getLanguageService().organizeImports( { fileName: file, - skipDestructiveCodeActions: args.skipDestructiveCodeActions, + mode: args.mode as OrganizeImportsMode | undefined ?? (args.skipDestructiveCodeActions ? OrganizeImportsMode.SortAndCombine : undefined), type: "file", }, this.getFormatOptions(file), @@ -3516,11 +3518,10 @@ namespace ts.server { return text; } - function referenceEntryToReferencesResponseItem(projectService: ProjectService, { fileName, textSpan, contextSpan, isWriteAccess, isDefinition }: ReferencedSymbolEntry): protocol.ReferencesResponseItem { + function referenceEntryToReferencesResponseItem(projectService: ProjectService, { fileName, textSpan, contextSpan, isWriteAccess, isDefinition }: ReferencedSymbolEntry, { disableLineTextInReferences }: protocol.UserPreferences): protocol.ReferencesResponseItem { const scriptInfo = Debug.checkDefined(projectService.getScriptInfo(fileName)); const span = toProtocolTextSpanWithContext(textSpan, contextSpan, scriptInfo); - const lineSpan = scriptInfo.lineToTextSpan(span.start.line - 1); - const lineText = scriptInfo.getSnapshot().getText(lineSpan.start, textSpanEnd(lineSpan)).replace(/\r|\n/g, ""); + const lineText = disableLineTextInReferences ? undefined : getLineText(scriptInfo, span); return { file: fileName, ...span, @@ -3530,6 +3531,11 @@ namespace ts.server { }; } + function getLineText(scriptInfo: ScriptInfo, span: protocol.TextSpanWithContext) { + const lineSpan = scriptInfo.lineToTextSpan(span.start.line - 1); + return scriptInfo.getSnapshot().getText(lineSpan.start, textSpanEnd(lineSpan)).replace(/\r|\n/g, ""); + } + function isCompletionEntryData(data: any): data is CompletionEntryData { return data === undefined || data && typeof data === "object" && typeof data.exportName === "string" diff --git a/src/services/codefixes/addMissingAwait.ts b/src/services/codefixes/addMissingAwait.ts index a03d355b0986b..9020b9791dfb3 100644 --- a/src/services/codefixes/addMissingAwait.ts +++ b/src/services/codefixes/addMissingAwait.ts @@ -226,6 +226,15 @@ namespace ts.codefix { } function makeChange(changeTracker: textChanges.ChangeTracker, errorCode: number, sourceFile: SourceFile, checker: TypeChecker, insertionSite: Expression, fixedDeclarations?: Set) { + if (isForOfStatement(insertionSite.parent) && !insertionSite.parent.awaitModifier) { + const exprType = checker.getTypeAtLocation(insertionSite); + const asyncIter = checker.getAsyncIterableType(); + if (asyncIter && checker.isTypeAssignableTo(exprType, asyncIter)) { + const forOf = insertionSite.parent; + changeTracker.replaceNode(sourceFile, forOf, factory.updateForOfStatement(forOf, factory.createToken(SyntaxKind.AwaitKeyword), forOf.initializer, forOf.expression, forOf.statement)); + return; + } + } if (isBinaryExpression(insertionSite)) { for (const side of [insertionSite.left, insertionSite.right]) { if (fixedDeclarations && isIdentifier(side)) { diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 2542a0732342b..69cd8d0a8ae30 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -178,7 +178,7 @@ namespace ts.codefix { const argIndex = findIndex(parent.parent.arguments, arg => arg === parent); if (argIndex < 0) return undefined; - const signature = singleOrUndefined(checker.getSignaturesOfType(checker.getTypeAtLocation(parent.parent.expression), SignatureKind.Call)); + const signature = checker.getResolvedSignature(parent.parent); if (!(signature && signature.declaration && signature.parameters[argIndex])) return undefined; const param = signature.parameters[argIndex].valueDeclaration; @@ -264,10 +264,6 @@ namespace ts.codefix { return undefined; } - function isSourceFileFromLibrary(program: Program, node: SourceFile) { - return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node); - } - function getActionsForMissingMemberDeclaration(context: CodeFixContext, info: TypeLikeDeclarationInfo): CodeFixAction[] | undefined { return info.isJSFile ? singleElementArray(createActionForAddMissingMemberInJavascriptFile(context, info)) : createActionsForAddMissingMemberInTypeScriptFile(context, info); diff --git a/src/services/codefixes/fixImportNonExportedMember.ts b/src/services/codefixes/fixImportNonExportedMember.ts new file mode 100644 index 0000000000000..5eb3a0e81d301 --- /dev/null +++ b/src/services/codefixes/fixImportNonExportedMember.ts @@ -0,0 +1,163 @@ +/* @internal */ +namespace ts.codefix { + const fixId = "fixImportNonExportedMember"; + const errorCodes = [ + Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported.code, + ]; + + registerCodeFix({ + errorCodes, + fixIds: [fixId], + getCodeActions(context) { + const { sourceFile, span, program } = context; + const info = getInfo(sourceFile, span.start, program); + if (info === undefined) return undefined; + + const changes = textChanges.ChangeTracker.with(context, t => doChange(t, program, info)); + return [createCodeFixAction(fixId, changes, [Diagnostics.Export_0_from_module_1, info.exportName.node.text, info.moduleSpecifier], fixId, Diagnostics.Export_all_referenced_locals)]; + }, + getAllCodeActions(context) { + const { program } = context; + return createCombinedCodeActions(textChanges.ChangeTracker.with(context, changes => { + const exports = new Map(); + + eachDiagnostic(context, errorCodes, diag => { + const info = getInfo(diag.file, diag.start, program); + if (info === undefined) return undefined; + + const { exportName, node, moduleSourceFile } = info; + if (tryGetExportDeclaration(moduleSourceFile, exportName.isTypeOnly) === undefined && canHaveExportModifier(node)) { + changes.insertExportModifier(moduleSourceFile, node); + } + else { + const moduleExports = exports.get(moduleSourceFile) || { typeOnlyExports: [], exports: [] }; + if (exportName.isTypeOnly) { + moduleExports.typeOnlyExports.push(exportName); + } + else { + moduleExports.exports.push(exportName); + } + exports.set(moduleSourceFile, moduleExports); + } + }); + + exports.forEach((moduleExports, moduleSourceFile) => { + const exportDeclaration = tryGetExportDeclaration(moduleSourceFile, /*isTypeOnly*/ true); + if (exportDeclaration && exportDeclaration.isTypeOnly) { + doChanges(changes, program, moduleSourceFile, moduleExports.typeOnlyExports, exportDeclaration); + doChanges(changes, program, moduleSourceFile, moduleExports.exports, tryGetExportDeclaration(moduleSourceFile, /*isTypeOnly*/ false)); + } + else { + doChanges(changes, program, moduleSourceFile, [...moduleExports.exports, ...moduleExports.typeOnlyExports], exportDeclaration); + } + }); + })); + } + }); + + interface ModuleExports { + typeOnlyExports: ExportName[]; + exports: ExportName[]; + } + + interface ExportName { + node: Identifier; + isTypeOnly: boolean; + } + + interface Info { + exportName: ExportName; + node: Declaration | VariableStatement; + moduleSourceFile: SourceFile; + moduleSpecifier: string; + } + + function getInfo(sourceFile: SourceFile, pos: number, program: Program): Info | undefined { + const token = getTokenAtPosition(sourceFile, pos); + if (isIdentifier(token)) { + const importDeclaration = findAncestor(token, isImportDeclaration); + if (importDeclaration === undefined) return undefined; + + const moduleSpecifier = isStringLiteral(importDeclaration.moduleSpecifier) ? importDeclaration.moduleSpecifier.text : undefined; + if (moduleSpecifier === undefined) return undefined; + + const resolvedModule = getResolvedModule(sourceFile, moduleSpecifier, /*mode*/ undefined); + if (resolvedModule === undefined) return undefined; + + const moduleSourceFile = program.getSourceFile(resolvedModule.resolvedFileName); + if (moduleSourceFile === undefined || isSourceFileFromLibrary(program, moduleSourceFile)) return undefined; + + const moduleSymbol = moduleSourceFile.symbol; + const locals = moduleSymbol.valueDeclaration?.locals; + if (locals === undefined) return undefined; + + const localSymbol = locals.get(token.escapedText); + if (localSymbol === undefined) return undefined; + + const node = getNodeOfSymbol(localSymbol); + if (node === undefined) return undefined; + + const exportName = { node: token, isTypeOnly: isTypeDeclaration(node) }; + return { exportName, node, moduleSourceFile, moduleSpecifier }; + } + return undefined; + } + + function doChange(changes: textChanges.ChangeTracker, program: Program, { exportName, node, moduleSourceFile }: Info) { + const exportDeclaration = tryGetExportDeclaration(moduleSourceFile, exportName.isTypeOnly); + if (exportDeclaration) { + updateExport(changes, program, moduleSourceFile, exportDeclaration, [exportName]); + } + else if (canHaveExportModifier(node)) { + changes.insertExportModifier(moduleSourceFile, node); + } + else { + createExport(changes, program, moduleSourceFile, [exportName]); + } + } + + function doChanges(changes: textChanges.ChangeTracker, program: Program, sourceFile: SourceFile, moduleExports: ExportName[], node: ExportDeclaration | undefined) { + if (length(moduleExports)) { + if (node) { + updateExport(changes, program, sourceFile, node, moduleExports); + } + else { + createExport(changes, program, sourceFile, moduleExports); + } + } + } + + function tryGetExportDeclaration(sourceFile: SourceFile, isTypeOnly: boolean) { + const predicate = (node: Node): node is ExportDeclaration => + isExportDeclaration(node) && (isTypeOnly && node.isTypeOnly || !node.isTypeOnly); + return findLast(sourceFile.statements, predicate); + } + + function updateExport(changes: textChanges.ChangeTracker, program: Program, sourceFile: SourceFile, node: ExportDeclaration, names: ExportName[]) { + const namedExports = node.exportClause && isNamedExports(node.exportClause) ? node.exportClause.elements : factory.createNodeArray([]); + const allowTypeModifier = !node.isTypeOnly && !!(program.getCompilerOptions().isolatedModules || find(namedExports, e => e.isTypeOnly)); + changes.replaceNode(sourceFile, node, + factory.updateExportDeclaration(node, node.modifiers, node.isTypeOnly, + factory.createNamedExports( + factory.createNodeArray([...namedExports, ...createExportSpecifiers(names, allowTypeModifier)], /*hasTrailingComma*/ namedExports.hasTrailingComma)), node.moduleSpecifier, node.assertClause)); + } + + function createExport(changes: textChanges.ChangeTracker, program: Program, sourceFile: SourceFile, names: ExportName[]) { + changes.insertNodeAtEndOfScope(sourceFile, sourceFile, + factory.createExportDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, + factory.createNamedExports(createExportSpecifiers(names, /*allowTypeModifier*/ !!program.getCompilerOptions().isolatedModules)), /*moduleSpecifier*/ undefined, /*assertClause*/ undefined)); + } + + function createExportSpecifiers(names: ExportName[], allowTypeModifier: boolean) { + return factory.createNodeArray(map(names, n => factory.createExportSpecifier(allowTypeModifier && n.isTypeOnly, /*propertyName*/ undefined, n.node))); + } + + function getNodeOfSymbol(symbol: Symbol) { + if (symbol.valueDeclaration === undefined) { + return firstOrUndefined(symbol.declarations); + } + const declaration = symbol.valueDeclaration; + const variableStatement = isVariableDeclaration(declaration) ? tryCast(declaration.parent.parent, isVariableStatement) : undefined; + return variableStatement && length(variableStatement.declarationList.declarations) === 1 ? variableStatement : declaration; + } +} diff --git a/src/services/completions.ts b/src/services/completions.ts index bff90e2d3e7c5..9bdc38195da54 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -764,7 +764,7 @@ namespace ts.Completions { if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === CompletionKind.MemberLike && - isClassLikeMemberCompletion(symbol, location)) { + isClassLikeMemberCompletion(symbol, location, sourceFile)) { let importAdder; ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, contextToken, formatContext)); sortText = SortText.ClassMemberSnippets; // sortText has to be lower priority than the sortText for keywords. See #47852. @@ -846,7 +846,7 @@ namespace ts.Completions { }; } - function isClassLikeMemberCompletion(symbol: Symbol, location: Node): boolean { + function isClassLikeMemberCompletion(symbol: Symbol, location: Node, sourceFile: SourceFile): boolean { // TODO: support JS files. if (isInJSFile(location)) { return false; @@ -884,6 +884,7 @@ namespace ts.Completions { location.parent.parent && isClassElement(location.parent) && location === location.parent.name && + location.parent.getLastToken(sourceFile) === location.parent.name && isClassLike(location.parent.parent) ) || ( diff --git a/src/services/formatting/formattingScanner.ts b/src/services/formatting/formattingScanner.ts index 56ad87770ba7b..4eeaf1b705804 100644 --- a/src/services/formatting/formattingScanner.ts +++ b/src/services/formatting/formattingScanner.ts @@ -126,7 +126,7 @@ namespace ts.formatting { } function shouldRescanJsxText(node: Node): boolean { - return isJsxText(node); + return isJsxText(node) || isJsxElement(node) && lastTokenInfo?.token.kind === SyntaxKind.JsxText; } function shouldRescanSlashToken(container: Node): boolean { diff --git a/src/services/formatting/rules.ts b/src/services/formatting/rules.ts index 85e67eb8cbb59..07724be25ba0e 100644 --- a/src/services/formatting/rules.ts +++ b/src/services/formatting/rules.ts @@ -732,10 +732,10 @@ namespace ts.formatting { } function nodeIsInDecoratorContext(node: Node): boolean { - while (isExpressionNode(node)) { + while (node && isExpression(node)) { node = node.parent; } - return node.kind === SyntaxKind.Decorator; + return node && node.kind === SyntaxKind.Decorator; } function isStartOfVariableDeclarationList(context: FormattingContext): boolean { diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index 40cac0a916d41..0ed8284b5df62 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -26,6 +26,12 @@ namespace ts.GoToDefinition { return label ? [createDefinitionInfoFromName(typeChecker, label, ScriptElementKind.label, node.text, /*containerName*/ undefined!)] : undefined; // TODO: GH#18217 } + if (node.kind === SyntaxKind.ReturnKeyword) { + const functionDeclaration = findAncestor(node.parent, n => + isClassStaticBlockDeclaration(n) ? "quit" : isFunctionLikeDeclaration(n)) as FunctionLikeDeclaration | undefined; + return functionDeclaration ? [createDefinitionFromSignatureDeclaration(typeChecker, functionDeclaration)] : undefined; + } + if (isStaticModifier(node) && isClassStaticBlockDeclaration(node.parent)) { const classDecl = node.parent.parent; const { symbol, failedAliasResolution } = getSymbol(classDecl, typeChecker, stopAtAlias); @@ -171,13 +177,15 @@ namespace ts.GoToDefinition { if (!baseDeclaration) return; const baseTypeNode = getEffectiveBaseTypeNode(baseDeclaration); - const baseType = baseTypeNode ? typeChecker.getTypeAtLocation(baseTypeNode) : undefined; - if (!baseType) return; + if (!baseTypeNode) return; + const expression = skipParentheses(baseTypeNode.expression); + const base = isClassExpression(expression) ? expression.symbol : typeChecker.getSymbolAtLocation(expression); + if (!base) return; const name = unescapeLeadingUnderscores(getTextOfPropertyName(classElement.name)); const symbol = hasStaticModifier(classElement) - ? typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbolAtLocation(baseType.symbol, baseDeclaration), name) - : typeChecker.getPropertyOfType(baseType, name); + ? typeChecker.getPropertyOfType(typeChecker.getTypeOfSymbol(base), name) + : typeChecker.getPropertyOfType(typeChecker.getDeclaredTypeOfSymbol(base), name); if (!symbol) return; return getDefinitionFromSymbol(typeChecker, symbol, node); diff --git a/src/services/jsDoc.ts b/src/services/jsDoc.ts index 257531c14e8d9..a8d4c1a4e03fd 100644 --- a/src/services/jsDoc.ts +++ b/src/services/jsDoc.ts @@ -439,12 +439,18 @@ namespace ts.JsDoc { case SyntaxKind.ClassDeclaration: case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.PropertySignature: case SyntaxKind.EnumDeclaration: case SyntaxKind.EnumMember: case SyntaxKind.TypeAliasDeclaration: return { commentOwner }; + case SyntaxKind.PropertySignature: { + const host = commentOwner as PropertySignature; + return host.type && isFunctionTypeNode(host.type) + ? { commentOwner, parameters: host.type.parameters, hasReturn: hasReturn(host.type, options) } + : { commentOwner }; + } + case SyntaxKind.VariableStatement: { const varStatement = commentOwner as VariableStatement; const varDeclarations = varStatement.declarationList.declarations; @@ -486,7 +492,7 @@ namespace ts.JsDoc { function hasReturn(node: Node, options: DocCommentTemplateOptions | undefined) { return !!options?.generateReturnInDocTemplate && - (isArrowFunction(node) && isExpression(node.body) + (isFunctionTypeNode(node) || isArrowFunction(node) && isExpression(node.body) || isFunctionLikeDeclaration(node) && node.body && isBlock(node.body) && !!forEachReturnStatement(node.body, n => n)); } diff --git a/src/services/organizeImports.ts b/src/services/organizeImports.ts index d1cd6c517f8c9..2928d604acdf3 100644 --- a/src/services/organizeImports.ts +++ b/src/services/organizeImports.ts @@ -13,38 +13,51 @@ namespace ts.OrganizeImports { host: LanguageServiceHost, program: Program, preferences: UserPreferences, - skipDestructiveCodeActions?: boolean + mode: OrganizeImportsMode, ) { const changeTracker = textChanges.ChangeTracker.fromContext({ host, formatContext, preferences }); - - const coalesceAndOrganizeImports = (importGroup: readonly ImportDeclaration[]) => stableSort( - coalesceImports(removeUnusedImports(importGroup, sourceFile, program, skipDestructiveCodeActions)), - (s1, s2) => compareImportsOrRequireStatements(s1, s2)); + const shouldSort = mode === OrganizeImportsMode.SortAndCombine || mode === OrganizeImportsMode.All; + const shouldCombine = shouldSort; // These are currently inseparable, but I draw a distinction for clarity and in case we add modes in the future. + const shouldRemove = mode === OrganizeImportsMode.RemoveUnused || mode === OrganizeImportsMode.All; + const maybeRemove = shouldRemove ? removeUnusedImports : identity; + const maybeCoalesce = shouldCombine ? coalesceImports : identity; + const processImportsOfSameModuleSpecifier = (importGroup: readonly ImportDeclaration[]) => { + const processedDeclarations = maybeCoalesce(maybeRemove(importGroup, sourceFile, program)); + return shouldSort + ? stableSort(processedDeclarations, (s1, s2) => compareImportsOrRequireStatements(s1, s2)) + : processedDeclarations; + }; // All of the old ImportDeclarations in the file, in syntactic order. const topLevelImportGroupDecls = groupImportsByNewlineContiguous(sourceFile, sourceFile.statements.filter(isImportDeclaration)); - topLevelImportGroupDecls.forEach(importGroupDecl => organizeImportsWorker(importGroupDecl, coalesceAndOrganizeImports)); + topLevelImportGroupDecls.forEach(importGroupDecl => organizeImportsWorker(importGroupDecl, processImportsOfSameModuleSpecifier)); - // All of the old ExportDeclarations in the file, in syntactic order. - const topLevelExportDecls = sourceFile.statements.filter(isExportDeclaration); - organizeImportsWorker(topLevelExportDecls, coalesceExports); + // Exports are always used + if (mode !== OrganizeImportsMode.RemoveUnused) { + // All of the old ExportDeclarations in the file, in syntactic order. + const topLevelExportDecls = sourceFile.statements.filter(isExportDeclaration); + organizeImportsWorker(topLevelExportDecls, coalesceExports); + } for (const ambientModule of sourceFile.statements.filter(isAmbientModule)) { if (!ambientModule.body) continue; const ambientModuleImportGroupDecls = groupImportsByNewlineContiguous(sourceFile, ambientModule.body.statements.filter(isImportDeclaration)); - ambientModuleImportGroupDecls.forEach(importGroupDecl => organizeImportsWorker(importGroupDecl, coalesceAndOrganizeImports)); + ambientModuleImportGroupDecls.forEach(importGroupDecl => organizeImportsWorker(importGroupDecl, processImportsOfSameModuleSpecifier)); - const ambientModuleExportDecls = ambientModule.body.statements.filter(isExportDeclaration); - organizeImportsWorker(ambientModuleExportDecls, coalesceExports); + // Exports are always used + if (mode !== OrganizeImportsMode.RemoveUnused) { + const ambientModuleExportDecls = ambientModule.body.statements.filter(isExportDeclaration); + organizeImportsWorker(ambientModuleExportDecls, coalesceExports); + } } return changeTracker.getChanges(); function organizeImportsWorker( oldImportDecls: readonly T[], - coalesce: (group: readonly T[]) => readonly T[]) { - + coalesce: (group: readonly T[]) => readonly T[], + ) { if (length(oldImportDecls) === 0) { return; } @@ -56,8 +69,12 @@ namespace ts.OrganizeImports { // but the consequences of being wrong are very minor. suppressLeadingTrivia(oldImportDecls[0]); - const oldImportGroups = group(oldImportDecls, importDecl => getExternalModuleName(importDecl.moduleSpecifier!)!); - const sortedImportGroups = stableSort(oldImportGroups, (group1, group2) => compareModuleSpecifiers(group1[0].moduleSpecifier, group2[0].moduleSpecifier)); + const oldImportGroups = shouldCombine + ? group(oldImportDecls, importDecl => getExternalModuleName(importDecl.moduleSpecifier!)!) + : [oldImportDecls]; + const sortedImportGroups = shouldSort + ? stableSort(oldImportGroups, (group1, group2) => compareModuleSpecifiers(group1[0].moduleSpecifier, group2[0].moduleSpecifier)) + : oldImportGroups; const newImportDecls = flatMap(sortedImportGroups, importGroup => getExternalModuleName(importGroup[0].moduleSpecifier!) ? coalesce(importGroup) @@ -129,12 +146,7 @@ namespace ts.OrganizeImports { return false; } - function removeUnusedImports(oldImports: readonly ImportDeclaration[], sourceFile: SourceFile, program: Program, skipDestructiveCodeActions: boolean | undefined) { - // As a precaution, consider unused import detection to be destructive (GH #43051) - if (skipDestructiveCodeActions) { - return oldImports; - } - + function removeUnusedImports(oldImports: readonly ImportDeclaration[], sourceFile: SourceFile, program: Program) { const typeChecker = program.getTypeChecker(); const compilerOptions = program.getCompilerOptions(); const jsxNamespace = typeChecker.getJsxNamespace(sourceFile); diff --git a/src/services/patternMatcher.ts b/src/services/patternMatcher.ts index b0071f7124098..66e4a6217933a 100644 --- a/src/services/patternMatcher.ts +++ b/src/services/patternMatcher.ts @@ -259,7 +259,7 @@ namespace ts { } function betterMatch(a: PatternMatch | undefined, b: PatternMatch | undefined): PatternMatch | undefined { - return min(a, b, compareMatches); + return min([a, b], compareMatches); } function compareMatches(a: PatternMatch | undefined, b: PatternMatch | undefined): Comparison { return a === undefined ? Comparison.GreaterThan : b === undefined ? Comparison.LessThan diff --git a/src/services/preProcess.ts b/src/services/preProcess.ts index d5c384e9161cc..f891891deb76f 100644 --- a/src/services/preProcess.ts +++ b/src/services/preProcess.ts @@ -347,8 +347,8 @@ namespace ts { if (scanner.getToken() === SyntaxKind.TemplateHead) { const stack = [scanner.getToken()]; - let token = scanner.scan(); loop: while (length(stack)) { + const token = scanner.scan(); switch (token) { case SyntaxKind.EndOfFileToken: break loop; @@ -376,7 +376,6 @@ namespace ts { } break; } - token = scanner.scan(); } nextToken(); } diff --git a/src/services/refactors/extractSymbol.ts b/src/services/refactors/extractSymbol.ts index 67435b4735456..9f3a0521144ea 100644 --- a/src/services/refactors/extractSymbol.ts +++ b/src/services/refactors/extractSymbol.ts @@ -69,8 +69,8 @@ namespace ts.refactor.extractSymbol { let i = 0; for (const { functionExtraction, constantExtraction } of extractions) { - const description = functionExtraction.description; if (refactorKindBeginsWith(extractFunctionAction.kind, requestedRefactor)) { + const description = functionExtraction.description; if (functionExtraction.errors.length === 0) { // Don't issue refactorings with duplicated names. // Scopes come back in "innermost first" order, so extractions will @@ -95,11 +95,11 @@ namespace ts.refactor.extractSymbol { } if (refactorKindBeginsWith(extractConstantAction.kind, requestedRefactor)) { + const description = constantExtraction.description; if (constantExtraction.errors.length === 0) { // Don't issue refactorings with duplicated names. // Scopes come back in "innermost first" order, so extractions will // preferentially go into nearer scopes - const description = constantExtraction.description; if (!usedConstantNames.has(description)) { usedConstantNames.set(description, true); constantActions.push({ @@ -239,11 +239,6 @@ namespace ts.refactor.extractSymbol { interface TargetRange { readonly range: Expression | Statement[]; readonly facts: RangeFacts; - /** - * A list of symbols that are declared in the selected range which are visible in the containing lexical scope - * Used to ensure we don't turn something used outside the range free (or worse, resolve to a different entity). - */ - readonly declarations: Symbol[]; /** * If `this` is referring to a function instead of class, we need to retrieve its type. */ @@ -294,8 +289,6 @@ namespace ts.refactor.extractSymbol { // Do the same for the ending position const end = cursorRequest ? start : getParentNodeInSpan(endToken, sourceFile, adjustedSpan); - const declarations: Symbol[] = []; - // We'll modify these flags as we walk the tree to collect data // about what things need to be done as part of the extraction. let rangeFacts = RangeFacts.None; @@ -344,7 +337,7 @@ namespace ts.refactor.extractSymbol { return { errors: [createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } - return { targetRange: { range: statements, facts: rangeFacts, declarations, thisNode } }; + return { targetRange: { range: statements, facts: rangeFacts, thisNode } }; } if (isReturnStatement(start) && !start.expression) { @@ -359,7 +352,7 @@ namespace ts.refactor.extractSymbol { if (errors) { return { errors }; } - return { targetRange: { range: getStatementOrExpressionRange(node)!, facts: rangeFacts, declarations, thisNode } }; // TODO: GH#18217 + return { targetRange: { range: getStatementOrExpressionRange(node)!, facts: rangeFacts, thisNode } }; // TODO: GH#18217 /** * Attempt to refine the extraction node (generally, by shrinking it) to produce better results. @@ -489,7 +482,6 @@ namespace ts.refactor.extractSymbol { (errors ||= []).push(createDiagnosticForNode(node, Messages.cannotExtractExportedEntity)); return true; } - declarations.push(node.symbol); } // Some things can't be extracted in certain situations diff --git a/src/services/refactors/moveToNewFile.ts b/src/services/refactors/moveToNewFile.ts index b01218a95ba5a..1b9c9e04c8c51 100644 --- a/src/services/refactors/moveToNewFile.ts +++ b/src/services/refactors/moveToNewFile.ts @@ -133,7 +133,7 @@ namespace ts.refactor { ) { const checker = program.getTypeChecker(); const prologueDirectives = takeWhile(oldFile.statements, isPrologueDirective); - if (!oldFile.externalModuleIndicator && !oldFile.commonJsModuleIndicator) { + if (oldFile.externalModuleIndicator === undefined && oldFile.commonJsModuleIndicator === undefined && usage.oldImportsNeededByNewFile.size() === 0) { deleteMovedStatements(oldFile, toMove.ranges, changes); return [...prologueDirectives, ...toMove.all]; } @@ -402,7 +402,13 @@ namespace ts.refactor { switch (name.kind) { case SyntaxKind.Identifier: if (isUnused(name)) { - changes.delete(sourceFile, name); + if (varDecl.initializer && isRequireCall(varDecl.initializer, /*requireStringLiteralLikeArgument*/ true)) { + changes.delete(sourceFile, + isVariableDeclarationList(varDecl.parent) && length(varDecl.parent.declarations) === 1 ? varDecl.parent.parent : varDecl); + } + else { + changes.delete(sourceFile, name); + } } break; case SyntaxKind.ArrayBindingPattern: @@ -641,10 +647,12 @@ namespace ts.refactor { } interface ReadonlySymbolSet { + size(): number; has(symbol: Symbol): boolean; forEach(cb: (symbol: Symbol) => void): void; forEachEntry(cb: (symbol: Symbol) => T | undefined): T | undefined; } + class SymbolSet implements ReadonlySymbolSet { private map = new Map(); add(symbol: Symbol): void { @@ -667,6 +675,9 @@ namespace ts.refactor { copyEntries(this.map, clone.map); return clone; } + size() { + return this.map.size; + } } type TopLevelExpressionStatement = ExpressionStatement & { expression: BinaryExpression & { left: PropertyAccessExpression } }; // 'exports.x = ...' @@ -775,7 +786,8 @@ namespace ts.refactor { if (useEs6Exports) { return !isExpressionStatement(decl) && hasSyntacticModifier(decl, ModifierFlags.Export) || !!(name && sourceFile.symbol.exports?.has(name.escapedText)); } - return getNamesToExportInCommonJS(decl).some(name => sourceFile.symbol.exports!.has(escapeLeadingUnderscores(name))); + return !!sourceFile.symbol && !!sourceFile.symbol.exports && + getNamesToExportInCommonJS(decl).some(name => sourceFile.symbol.exports!.has(escapeLeadingUnderscores(name))); } function addExport(decl: TopLevelDeclarationStatement, useEs6Exports: boolean): readonly Statement[] | undefined { diff --git a/src/services/services.ts b/src/services/services.ts index 975e36b1dd40c..618a274766957 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2076,7 +2076,8 @@ namespace ts { const sourceFile = getValidSourceFile(args.fileName); const formatContext = formatting.getFormatContext(formatOptions, host); - return OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences, args.skipDestructiveCodeActions); + const mode = args.mode ?? (args.skipDestructiveCodeActions ? OrganizeImportsMode.SortAndCombine : OrganizeImportsMode.All); + return OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences, mode); } function getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences = emptyOptions): readonly FileTextChanges[] { diff --git a/src/services/symbolDisplay.ts b/src/services/symbolDisplay.ts index 87b5e16f29db9..6ba2243b750dd 100644 --- a/src/services/symbolDisplay.ts +++ b/src/services/symbolDisplay.ts @@ -725,8 +725,9 @@ namespace ts.SymbolDisplay { if (allSignatures.length > 1 && documentation.length === 0 && tags.length === 0) { documentation = allSignatures[0].getDocumentationComment(typeChecker); - tags = allSignatures[0].getJsDocTags(); + tags = allSignatures[0].getJsDocTags().filter(tag => tag.name !== "deprecated"); // should only include @deprecated JSDoc tag on the first overload (#49368) } + } function writeTypeParametersOfSymbol(symbol: Symbol, enclosingDeclaration: Node | undefined) { diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index 59f22c8a9fbe0..23f15afe8f8ef 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -993,6 +993,27 @@ namespace ts.textChanges { return skipTrivia(sourceFile.text, getAdjustedStartPosition(sourceFile, node, { leadingTriviaOption: LeadingTriviaOption.IncludeAll }), /*stopAfterLineBreak*/ false, /*stopAtComments*/ true); } + function endPositionToDeleteNodeInList(sourceFile: SourceFile, node: Node, prevNode: Node | undefined, nextNode: Node): number { + const end = startPositionToDeleteNodeInList(sourceFile, nextNode); + if (prevNode === undefined || positionsAreOnSameLine(getAdjustedEndPosition(sourceFile, node, {}), end, sourceFile)) { + return end; + } + const token = findPrecedingToken(nextNode.getStart(sourceFile), sourceFile); + if (isSeparator(node, token)) { + const prevToken = findPrecedingToken(node.getStart(sourceFile), sourceFile); + if (isSeparator(prevNode, prevToken)) { + const pos = skipTrivia(sourceFile.text, token.getEnd(), /*stopAfterLineBreak*/ true, /*stopAtComments*/ true); + if (positionsAreOnSameLine(prevToken.getStart(sourceFile), token.getStart(sourceFile), sourceFile)) { + return isLineBreak(sourceFile.text.charCodeAt(pos - 1)) ? pos - 1 : pos; + } + if (isLineBreak(sourceFile.text.charCodeAt(pos))) { + return pos; + } + } + } + return end; + } + function getClassOrObjectBraceEnds(cls: ClassLikeDeclaration | InterfaceDeclaration | ObjectLiteralExpression, sourceFile: SourceFile): [number | undefined, number | undefined] { const open = findChildOfKind(cls, SyntaxKind.OpenBraceToken, sourceFile); const close = findChildOfKind(cls, SyntaxKind.CloseBraceToken, sourceFile); @@ -1589,9 +1610,10 @@ namespace ts.textChanges { // That's handled in the end by `finishTrailingCommaAfterDeletingNodesInList`. Debug.assert(!deletedNodesInLists.has(node), "Deleting a node twice"); deletedNodesInLists.add(node); + changes.deleteRange(sourceFile, { pos: startPositionToDeleteNodeInList(sourceFile, node), - end: index === containingList.length - 1 ? getAdjustedEndPosition(sourceFile, node, {}) : startPositionToDeleteNodeInList(sourceFile, containingList[index + 1]), + end: index === containingList.length - 1 ? getAdjustedEndPosition(sourceFile, node, {}) : endPositionToDeleteNodeInList(sourceFile, node, containingList[index - 1], containingList[index + 1]), }); } } diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index 2237163ebb20d..2099fe308c911 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -71,6 +71,7 @@ "codefixes/fixOverrideModifier.ts", "codefixes/fixNoPropertyAccessFromIndexSignature.ts", "codefixes/fixImplicitThis.ts", + "codefixes/fixImportNonExportedMember.ts", "codefixes/fixIncorrectNamedTupleSyntax.ts", "codefixes/fixSpelling.ts", "codefixes/returnValueCorrect.ts", diff --git a/src/services/types.ts b/src/services/types.ts index 915b7b71c8394..3b63a68a5d30b 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -575,8 +575,16 @@ namespace ts { export interface CombinedCodeFixScope { type: "file"; fileName: string; } + export const enum OrganizeImportsMode { + All = "All", + SortAndCombine = "SortAndCombine", + RemoveUnused = "RemoveUnused", + } + export interface OrganizeImportsArgs extends CombinedCodeFixScope { + /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; + mode?: OrganizeImportsMode; } export type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#" | " "; diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 4d24e57d051ee..76d63dd114e97 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -790,6 +790,8 @@ namespace ts { } export function getContextualTypeFromParentOrAncestorTypeNode(node: Expression, checker: TypeChecker): Type | undefined { + if (node.flags & (NodeFlags.JSDoc & ~NodeFlags.JavaScriptFile)) return undefined; + const contextualType = getContextualTypeFromParent(node, checker); if (contextualType) return contextualType; @@ -3421,5 +3423,9 @@ namespace ts { return jsx === JsxEmit.React || jsx === JsxEmit.ReactNative; } + export function isSourceFileFromLibrary(program: Program, node: SourceFile) { + return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node); + } + // #endregion } diff --git a/src/testRunner/parallel/host.ts b/src/testRunner/parallel/host.ts index d9c49e7ca21bf..6c11b5a28996c 100644 --- a/src/testRunner/parallel/host.ts +++ b/src/testRunner/parallel/host.ts @@ -14,7 +14,7 @@ namespace Harness.Parallel.Host { const { statSync } = require("fs") as typeof import("fs"); // NOTE: paths for module and types for FailedTestReporter _do not_ line up due to our use of --outFile for run.js - const FailedTestReporter = require(Utils.findUpFile("scripts/failed-tests.js")) as typeof import("../../../scripts/failed-tests"); + const FailedTestReporter = require(Utils.findUpFile("scripts/failed-tests.cjs")) as typeof import("../../../scripts/failed-tests.cjs"); const perfdataFileNameFragment = ".parallelperf"; const perfData = readSavedPerfData(configOption); @@ -534,7 +534,7 @@ namespace Harness.Parallel.Host { patchStats(consoleReporter.stats); let xunitReporter: import("mocha").reporters.XUnit | undefined; - let failedTestReporter: import("../../../scripts/failed-tests") | undefined; + let failedTestReporter: import("../../../scripts/failed-tests.cjs") | undefined; if (process.env.CI === "true") { xunitReporter = new Mocha.reporters.XUnit(replayRunner, { reporterOptions: { diff --git a/src/testRunner/tsconfig.json b/src/testRunner/tsconfig.json index 0f7ee625094f7..2e930a68ef262 100644 --- a/src/testRunner/tsconfig.json +++ b/src/testRunner/tsconfig.json @@ -96,6 +96,7 @@ "unittests/evaluation/externalModules.ts", "unittests/evaluation/forAwaitOf.ts", "unittests/evaluation/forOf.ts", + "unittests/evaluation/generator.ts", "unittests/evaluation/optionalCall.ts", "unittests/evaluation/objectRest.ts", "unittests/evaluation/superInStaticInitializer.ts", diff --git a/src/testRunner/unittests/config/commandLineParsing.ts b/src/testRunner/unittests/config/commandLineParsing.ts index e2b48977106b6..4b4c200d49985 100644 --- a/src/testRunner/unittests/config/commandLineParsing.ts +++ b/src/testRunner/unittests/config/commandLineParsing.ts @@ -1,530 +1,114 @@ namespace ts { describe("unittests:: config:: commandLineParsing:: parseCommandLine", () => { - - function assertParseResult(commandLine: string[], expectedParsedCommandLine: ParsedCommandLine, workerDiagnostic?: () => ParseCommandLineWorkerDiagnostics) { - const parsed = parseCommandLineWorker(workerDiagnostic?.() || compilerOptionsDidYouMeanDiagnostics, commandLine); - assert.deepEqual(parsed.options, expectedParsedCommandLine.options); - assert.deepEqual(parsed.watchOptions, expectedParsedCommandLine.watchOptions); - - const parsedErrors = parsed.errors; - const expectedErrors = expectedParsedCommandLine.errors; - assert.isTrue(parsedErrors.length === expectedErrors.length, `Expected error: ${JSON.stringify(expectedErrors)}. Actual error: ${JSON.stringify(parsedErrors)}.`); - for (let i = 0; i < parsedErrors.length; i++) { - const parsedError = parsedErrors[i]; - const expectedError = expectedErrors[i]; - assert.equal(parsedError.code, expectedError.code); - assert.equal(parsedError.category, expectedError.category); - // Allow matching a prefix of the error message - if (typeof expectedError.messageText === "string" && expectedError.messageText.includes("[...]")) { - const prefix = expectedError.messageText.split("[...]")[0]; - assert(expectedError.messageText.startsWith(prefix)); - } - else { - assert.equal(parsedError.messageText, expectedError.messageText); - } - } - - const parsedFileNames = parsed.fileNames; - const expectedFileNames = expectedParsedCommandLine.fileNames; - assert.isTrue(parsedFileNames.length === expectedFileNames.length, `Expected fileNames: [${JSON.stringify(expectedFileNames)}]. Actual fileNames: [${JSON.stringify(parsedFileNames)}].`); - for (let i = 0; i < parsedFileNames.length; i++) { - const parsedFileName = parsedFileNames[i]; - const expectedFileName = expectedFileNames[i]; - assert.equal(parsedFileName, expectedFileName); - } - } - - it("Parse single option of library flag ", () => { - // --lib es6 0.ts - assertParseResult(["--lib", "es6", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { - lib: ["lib.es2015.d.ts"] - } - }); - }); - - it("Handles 'may only be used with --build' flags", () => { - const buildFlags = ["--clean", "--dry", "--force", "--verbose"]; - - assertParseResult(buildFlags, { - errors: buildFlags.map(buildFlag => ({ - messageText: `Compiler option '${buildFlag}' may only be used with '--build'.`, - category: Diagnostics.Compiler_option_0_may_only_be_used_with_build.category, - code: Diagnostics.Compiler_option_0_may_only_be_used_with_build.code, - file: undefined, - start: undefined, - length: undefined - })), - fileNames: [], - options: {} + function assertParseResult(subScenario: string, commandLine: string[], workerDiagnostic?: () => ParseCommandLineWorkerDiagnostics) { + it(subScenario, () => { + const baseline: string[] = []; + baseline.push(commandLine.join(" ")); + const parsed = parseCommandLineWorker(workerDiagnostic?.() || compilerOptionsDidYouMeanDiagnostics, commandLine); + baseline.push("CompilerOptions::"); + baseline.push(JSON.stringify(parsed.options, /*replacer*/ undefined, " ")); + baseline.push("WatchOptions::"); + baseline.push(JSON.stringify(parsed.watchOptions, /*replacer*/ undefined, " ")); + baseline.push("FileNames::"); + baseline.push(parsed.fileNames.join()); + baseline.push("Errors::"); + baseline.push(formatDiagnostics(parsed.errors, { + getCurrentDirectory: () => "/", + getCanonicalFileName: identity, + getNewLine: () => "\n", + })); + Harness.Baseline.runBaseline(`config/commandLineParsing/parseCommandLine/${subScenario}.js`, baseline.join("\n")); }); - }); - - it("Handles 'did you mean?' for misspelt flags", () => { - // --declarations --allowTS - assertParseResult(["--declarations", "--allowTS"], { - errors: [ - { - messageText: "Unknown compiler option '--declarations'. Did you mean 'declaration'?", - category: Diagnostics.Unknown_compiler_option_0_Did_you_mean_1.category, - code: Diagnostics.Unknown_compiler_option_0_Did_you_mean_1.code, - file: undefined, - start: undefined, - length: undefined - }, - { - messageText: "Unknown compiler option '--allowTS'. Did you mean 'allowJs'?", - category: Diagnostics.Unknown_compiler_option_0_Did_you_mean_1.category, - code: Diagnostics.Unknown_compiler_option_0_Did_you_mean_1.code, - file: undefined, - start: undefined, - length: undefined - } - ], - fileNames: [], - options: {} - }); - }); - - - it("Parse multiple options of library flags ", () => { - // --lib es5,es2015.symbol.wellknown 0.ts - assertParseResult(["--lib", "es5,es2015.symbol.wellknown", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { - lib: ["lib.es5.d.ts", "lib.es2015.symbol.wellknown.d.ts"] - } - }); - }); - - it("Parse invalid option of library flags ", () => { - // --lib es5,invalidOption 0.ts - assertParseResult(["--lib", "es5,invalidOption", "0.ts"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6' [...]", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { - lib: ["lib.es5.d.ts"] - } - }); - }); - it("Parse empty options of --jsx ", () => { - // 0.ts --jsx - assertParseResult(["0.ts", "--jsx"], - { - errors: [{ - messageText: "Compiler option 'jsx' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }, { - messageText: "Argument for '--jsx' option must be: 'preserve', 'react-native', 'react', 'react-jsx', 'react-jsxdev'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { jsx: undefined } - }); - }); - - it("Parse empty options of --module ", () => { - // 0.ts -- - assertParseResult(["0.ts", "--module"], - { - errors: [{ - messageText: "Compiler option 'module' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }, { - messageText: "Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { module: undefined } - }); - }); - - it("Parse empty options of --newLine ", () => { - // 0.ts --newLine - assertParseResult(["0.ts", "--newLine"], - { - errors: [{ - messageText: "Compiler option 'newLine' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }, { - messageText: "Argument for '--newLine' option must be: 'crlf', 'lf'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { newLine: undefined } - }); - }); - - it("Parse empty options of --target ", () => { - // 0.ts --target - assertParseResult(["0.ts", "--target"], - { - errors: [{ - messageText: "Compiler option 'target' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }, { - messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { target: undefined } - }); - }); - - it("Parse empty options of --moduleResolution ", () => { - // 0.ts --moduleResolution - assertParseResult(["0.ts", "--moduleResolution"], - { - errors: [{ - messageText: "Compiler option 'moduleResolution' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }, { - messageText: "Argument for '--moduleResolution' option must be: 'node', 'classic', 'node16', 'nodenext'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { moduleResolution: undefined } - }); - }); - - it("Parse empty options of --lib ", () => { - // 0.ts --lib - assertParseResult(["0.ts", "--lib"], - { - errors: [{ - messageText: "Compiler option 'lib' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { - lib: [] - } - }); - }); - - it("Parse empty string of --lib ", () => { - // 0.ts --lib - // This test is an error because the empty string is falsey - assertParseResult(["0.ts", "--lib", ""], - { - errors: [{ - messageText: "Compiler option 'lib' expects an argument.", - category: Diagnostics.Compiler_option_0_expects_an_argument.category, - code: Diagnostics.Compiler_option_0_expects_an_argument.code, - - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["0.ts"], - options: { - lib: [] - } - }); - }); - - it("Parse immediately following command line argument of --lib ", () => { - // 0.ts --lib - assertParseResult(["0.ts", "--lib", "--sourcemap"], - { - errors: [], - fileNames: ["0.ts"], - options: { - lib: [], - sourceMap: true - } - }); - }); - - it("Parse --lib option with extra comma ", () => { - // --lib es5, es7 0.ts - assertParseResult(["--lib", "es5,", "es7", "0.ts"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6' [...].", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["es7", "0.ts"], - options: { - lib: ["lib.es5.d.ts"] - } - }); - }); - - it("Parse --lib option with trailing white-space ", () => { - // --lib es5, es7 0.ts - assertParseResult(["--lib", "es5, ", "es7", "0.ts"], - { - errors: [{ - messageText: "Argument for '--lib' option must be: 'es5', 'es6', [...]", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - file: undefined, - start: undefined, - length: undefined, - }], - fileNames: ["es7", "0.ts"], - options: { - lib: ["lib.es5.d.ts"] - } - }); - }); - - it("Parse multiple compiler flags with input files at the end", () => { - // --lib es5,es2015.symbol.wellknown --target es5 0.ts - assertParseResult(["--lib", "es5,es2015.symbol.wellknown", "--target", "es5", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { - lib: ["lib.es5.d.ts", "lib.es2015.symbol.wellknown.d.ts"], - target: ScriptTarget.ES5, - } - }); - }); - - it("Parse multiple compiler flags with input files in the middle", () => { - // --module commonjs --target es5 0.ts --lib es5,es2015.symbol.wellknown - assertParseResult(["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,es2015.symbol.wellknown"], - { - errors: [], - fileNames: ["0.ts"], - options: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - lib: ["lib.es5.d.ts", "lib.es2015.symbol.wellknown.d.ts"], - } - }); - }); - - it("Parse multiple library compiler flags ", () => { - // --module commonjs --target es5 --lib es5 0.ts --library es2015.array,es2015.symbol.wellknown - assertParseResult(["--module", "commonjs", "--target", "es5", "--lib", "es5", "0.ts", "--lib", "es2015.core, es2015.symbol.wellknown "], - { - errors: [], - fileNames: ["0.ts"], - options: { - module: ModuleKind.CommonJS, - target: ScriptTarget.ES5, - lib: ["lib.es2015.core.d.ts", "lib.es2015.symbol.wellknown.d.ts"], - } - }); - }); - - it("Parse explicit boolean flag value", () => { - assertParseResult(["--strictNullChecks", "false", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { - strictNullChecks: false, - } - }); - }); - - it("Parse non boolean argument after boolean flag", () => { - assertParseResult(["--noImplicitAny", "t", "0.ts"], - { - errors: [], - fileNames: ["t", "0.ts"], - options: { - noImplicitAny: true, - } - }); - }); - - it("Parse implicit boolean flag value", () => { - assertParseResult(["--strictNullChecks"], - { - errors: [], - fileNames: [], - options: { - strictNullChecks: true, - } - }); - }); - - it("parse --incremental", () => { - // --lib es6 0.ts - assertParseResult(["--incremental", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { incremental: true } - }); - }); + } - it("parse --tsBuildInfoFile", () => { - // --lib es6 0.ts - assertParseResult(["--tsBuildInfoFile", "build.tsbuildinfo", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { tsBuildInfoFile: "build.tsbuildinfo" } - }); - }); + // --lib es6 0.ts + assertParseResult("Parse single option of library flag", ["--lib", "es6", "0.ts"]); + assertParseResult("Handles may only be used with --build flags", ["--clean", "--dry", "--force", "--verbose"]); + // --declarations --allowTS + assertParseResult("Handles did you mean for misspelt flags", ["--declarations", "--allowTS"]); + // --lib es5,es2015.symbol.wellknown 0.ts + assertParseResult("Parse multiple options of library flags", ["--lib", "es5,es2015.symbol.wellknown", "0.ts"]); + // --lib es5,invalidOption 0.ts + assertParseResult("Parse invalid option of library flags", ["--lib", "es5,invalidOption", "0.ts"]); + // 0.ts --jsx + assertParseResult("Parse empty options of --jsx", ["0.ts", "--jsx"]); + // 0.ts -- + assertParseResult("Parse empty options of --module", ["0.ts", "--module"]); + // 0.ts --newLine + assertParseResult("Parse empty options of --newLine", ["0.ts", "--newLine"]); + // 0.ts --target + assertParseResult("Parse empty options of --target", ["0.ts", "--target"]); + // 0.ts --moduleResolution + assertParseResult("Parse empty options of --moduleResolution", ["0.ts", "--moduleResolution"]); + // 0.ts --lib + assertParseResult("Parse empty options of --lib", ["0.ts", "--lib"]); + // 0.ts --lib + // This test is an error because the empty string is falsey + assertParseResult("Parse empty string of --lib", ["0.ts", "--lib", ""]); + // 0.ts --lib + assertParseResult("Parse immediately following command line argument of --lib", ["0.ts", "--lib", "--sourcemap"]); + // --lib es5, es7 0.ts + assertParseResult("Parse --lib option with extra comma", ["--lib", "es5,", "es7", "0.ts"]); + // --lib es5, es7 0.ts + assertParseResult("Parse --lib option with trailing white-space", ["--lib", "es5, ", "es7", "0.ts"]); + // --lib es5,es2015.symbol.wellknown --target es5 0.ts + assertParseResult("Parse multiple compiler flags with input files at the end", ["--lib", "es5,es2015.symbol.wellknown", "--target", "es5", "0.ts"]); + // --module commonjs --target es5 0.ts --lib es5,es2015.symbol.wellknown + assertParseResult("Parse multiple compiler flags with input files in the middle", ["--module", "commonjs", "--target", "es5", "0.ts", "--lib", "es5,es2015.symbol.wellknown"]); + // --module commonjs --target es5 --lib es5 0.ts --library es2015.array,es2015.symbol.wellknown + assertParseResult("Parse multiple library compiler flags ", ["--module", "commonjs", "--target", "es5", "--lib", "es5", "0.ts", "--lib", "es2015.core, es2015.symbol.wellknown "]); + assertParseResult("Parse explicit boolean flag value", ["--strictNullChecks", "false", "0.ts"]); + assertParseResult("Parse non boolean argument after boolean flag", ["--noImplicitAny", "t", "0.ts"]); + assertParseResult("Parse implicit boolean flag value", ["--strictNullChecks"]); + assertParseResult("parse --incremental", ["--incremental", "0.ts"]); + assertParseResult("parse --tsBuildInfoFile", ["--tsBuildInfoFile", "build.tsbuildinfo", "0.ts"]); describe("parses command line null for tsconfig only option", () => { interface VerifyNull { + subScenario: string, optionName: string; nonNullValue?: string; workerDiagnostic?: () => ParseCommandLineWorkerDiagnostics; - diagnosticMessage: DiagnosticMessage; } - function verifyNull({ optionName, nonNullValue, workerDiagnostic, diagnosticMessage }: VerifyNull) { - it("allows setting it to null", () => { + function verifyNull({ subScenario, optionName, nonNullValue, workerDiagnostic }: VerifyNull) { + describe(subScenario, () => { assertParseResult( + `${subScenario} allows setting it to null`, [`--${optionName}`, "null", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { [optionName]: undefined } - }, workerDiagnostic ); - }); - - if (nonNullValue) { - it("errors if non null value is passed", () => { + if (nonNullValue) { assertParseResult( + `${subScenario} errors if non null value is passed`, [`--${optionName}`, nonNullValue, "0.ts"], - { - errors: [{ - messageText: formatStringFromArgs(diagnosticMessage.message, [optionName]), - category: diagnosticMessage.category, - code: diagnosticMessage.code, - file: undefined, - start: undefined, - length: undefined - }], - fileNames: ["0.ts"], - options: {} - }, workerDiagnostic ); - }); - } + } - it("errors if its followed by another option", () => { assertParseResult( + `${subScenario} errors if its followed by another option`, ["0.ts", "--strictNullChecks", `--${optionName}`], - { - errors: [{ - messageText: formatStringFromArgs(diagnosticMessage.message, [optionName]), - category: diagnosticMessage.category, - code: diagnosticMessage.code, - file: undefined, - start: undefined, - length: undefined - }], - fileNames: ["0.ts"], - options: { strictNullChecks: true } - }, workerDiagnostic ); - }); - it("errors if its last option", () => { assertParseResult( + `${subScenario} errors if its last option`, ["0.ts", `--${optionName}`], - { - errors: [{ - messageText: formatStringFromArgs(diagnosticMessage.message, [optionName]), - category: diagnosticMessage.category, - code: diagnosticMessage.code, - file: undefined, - start: undefined, - length: undefined - }], - fileNames: ["0.ts"], - options: {} - }, workerDiagnostic ); }); } interface VerifyNullNonIncludedOption { + subScenario: string, type: () => "string" | "number" | ESMap; nonNullValue?: string; } - function verifyNullNonIncludedOption({ type, nonNullValue }: VerifyNullNonIncludedOption) { + function verifyNullNonIncludedOption({ subScenario, type, nonNullValue }: VerifyNullNonIncludedOption) { verifyNull({ + subScenario, optionName: "optionName", nonNullValue, - diagnosticMessage: Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line, workerDiagnostic: () => { const optionDeclarations: CommandLineOption[] = [ ...compilerOptionsDidYouMeanDiagnostics.optionDeclarations, @@ -547,392 +131,101 @@ namespace ts { } describe("option of type boolean", () => { - it("allows setting it to false", () => { - assertParseResult( - ["--composite", "false", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { composite: false } - } - ); - }); + assertParseResult( + "allows setting option type boolean to false", + ["--composite", "false", "0.ts"], + ); verifyNull({ + subScenario: "option of type boolean", optionName: "composite", nonNullValue: "true", - diagnosticMessage: Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line }); }); - describe("option of type object", () => { - verifyNull({ - optionName: "paths", - diagnosticMessage: Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line - }); + verifyNull({ + subScenario: "option of type object", + optionName: "paths", }); - describe("option of type list", () => { - verifyNull({ - optionName: "rootDirs", - nonNullValue: "abc,xyz", - diagnosticMessage: Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line - }); + verifyNull({ + subScenario: "option of type list", + optionName: "rootDirs", + nonNullValue: "abc,xyz", }); - - describe("option of type string", () => { - verifyNullNonIncludedOption({ - type: () => "string", - nonNullValue: "hello" - }); + verifyNullNonIncludedOption({ + subScenario: "option of type string", + type: () => "string", + nonNullValue: "hello" }); - describe("option of type number", () => { - verifyNullNonIncludedOption({ - type: () => "number", - nonNullValue: "10" - }); + verifyNullNonIncludedOption({ + subScenario: "option of type number", + type: () => "number", + nonNullValue: "10" }); - describe("option of type Map", () => { - verifyNullNonIncludedOption({ - type: () => new Map(getEntries({ - node: ModuleResolutionKind.NodeJs, - classic: ModuleResolutionKind.Classic, - })), - nonNullValue: "node" - }); + verifyNullNonIncludedOption({ + subScenario: "option of type custom map", + type: () => new Map(getEntries({ + node: ModuleResolutionKind.NodeJs, + classic: ModuleResolutionKind.Classic, + })), + nonNullValue: "node" }); }); - it("allows tsconfig only option to be set to null", () => { - assertParseResult(["--composite", "null", "-tsBuildInfoFile", "null", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: { composite: undefined, tsBuildInfoFile: undefined } - }); - }); + assertParseResult("allows tsconfig only option to be set to null", ["--composite", "null", "-tsBuildInfoFile", "null", "0.ts"]); describe("Watch options", () => { - it("parse --watchFile", () => { - assertParseResult(["--watchFile", "UseFsEvents", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: {}, - watchOptions: { watchFile: WatchFileKind.UseFsEvents } - }); - }); - - it("parse --watchDirectory", () => { - assertParseResult(["--watchDirectory", "FixedPollingInterval", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: {}, - watchOptions: { watchDirectory: WatchDirectoryKind.FixedPollingInterval } - }); - }); - - it("parse --fallbackPolling", () => { - assertParseResult(["--fallbackPolling", "PriorityInterval", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: {}, - watchOptions: { fallbackPolling: PollingWatchKind.PriorityInterval } - }); - }); - - it("parse --synchronousWatchDirectory", () => { - assertParseResult(["--synchronousWatchDirectory", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: {}, - watchOptions: { synchronousWatchDirectory: true } - }); - }); - - it("errors on missing argument to --fallbackPolling", () => { - assertParseResult(["0.ts", "--fallbackPolling"], - { - errors: [ - { - messageText: "Watch option 'fallbackPolling' requires a value of type string.", - category: Diagnostics.Watch_option_0_requires_a_value_of_type_1.category, - code: Diagnostics.Watch_option_0_requires_a_value_of_type_1.code, - file: undefined, - start: undefined, - length: undefined - }, - { - messageText: "Argument for '--fallbackPolling' option must be: 'fixedinterval', 'priorityinterval', 'dynamicpriority', 'fixedchunksize'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - file: undefined, - start: undefined, - length: undefined - } - ], - fileNames: ["0.ts"], - options: {}, - watchOptions: { fallbackPolling: undefined } - }); - }); - - it("parse --excludeDirectories", () => { - assertParseResult(["--excludeDirectories", "**/temp", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: {}, - watchOptions: { excludeDirectories: ["**/temp"] } - }); - }); - - it("errors on invalid excludeDirectories", () => { - assertParseResult(["--excludeDirectories", "**/../*", "0.ts"], - { - errors: [ - { - messageText: `File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'.`, - category: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.category, - code: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.code, - file: undefined, - start: undefined, - length: undefined - } - ], - fileNames: ["0.ts"], - options: {}, - watchOptions: { excludeDirectories: [] } - }); - }); - - it("parse --excludeFiles", () => { - assertParseResult(["--excludeFiles", "**/temp/*.ts", "0.ts"], - { - errors: [], - fileNames: ["0.ts"], - options: {}, - watchOptions: { excludeFiles: ["**/temp/*.ts"] } - }); - }); - - it("errors on invalid excludeFiles", () => { - assertParseResult(["--excludeFiles", "**/../*", "0.ts"], - { - errors: [ - { - messageText: `File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'.`, - category: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.category, - code: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.code, - file: undefined, - start: undefined, - length: undefined - } - ], - fileNames: ["0.ts"], - options: {}, - watchOptions: { excludeFiles: [] } - }); - }); + assertParseResult("parse --watchFile", ["--watchFile", "UseFsEvents", "0.ts"]); + assertParseResult("parse --watchDirectory", ["--watchDirectory", "FixedPollingInterval", "0.ts"]); + assertParseResult("parse --fallbackPolling", ["--fallbackPolling", "PriorityInterval", "0.ts"]); + assertParseResult("parse --synchronousWatchDirectory", ["--synchronousWatchDirectory", "0.ts"]); + assertParseResult("errors on missing argument to --fallbackPolling", ["0.ts", "--fallbackPolling"]); + assertParseResult("parse --excludeDirectories", ["--excludeDirectories", "**/temp", "0.ts"]); + assertParseResult("errors on invalid excludeDirectories", ["--excludeDirectories", "**/../*", "0.ts"]); + assertParseResult("parse --excludeFiles", ["--excludeFiles", "**/temp/*.ts", "0.ts"]); + assertParseResult("errors on invalid excludeFiles", ["--excludeFiles", "**/../*", "0.ts"]); }); }); describe("unittests:: config:: commandLineParsing:: parseBuildOptions", () => { - function assertParseResult(commandLine: string[], expectedParsedBuildCommand: ParsedBuildCommand) { - const parsed = parseBuildCommand(commandLine); - assert.deepEqual(parsed.buildOptions, expectedParsedBuildCommand.buildOptions); - assert.deepEqual(parsed.watchOptions, expectedParsedBuildCommand.watchOptions); - - const parsedErrors = parsed.errors; - const expectedErrors = expectedParsedBuildCommand.errors; - assert.isTrue(parsedErrors.length === expectedErrors.length, `Expected error: ${JSON.stringify(expectedErrors)}. Actual error: ${JSON.stringify(parsedErrors)}.`); - for (let i = 0; i < parsedErrors.length; i++) { - const parsedError = parsedErrors[i]; - const expectedError = expectedErrors[i]; - assert.equal(parsedError.code, expectedError.code); - assert.equal(parsedError.category, expectedError.category); - assert.equal(parsedError.messageText, expectedError.messageText); - } - - const parsedProjects = parsed.projects; - const expectedProjects = expectedParsedBuildCommand.projects; - assert.deepEqual(parsedProjects, expectedProjects, `Expected projects: [${JSON.stringify(expectedProjects)}]. Actual projects: [${JSON.stringify(parsedProjects)}].`); - } - it("parse build without any options ", () => { - // --lib es6 0.ts - assertParseResult([], - { - errors: [], - projects: ["."], - buildOptions: {}, - watchOptions: undefined - }); - }); - - it("Parse multiple options", () => { - // --lib es5,es2015.symbol.wellknown 0.ts - assertParseResult(["--verbose", "--force", "tests"], - { - errors: [], - projects: ["tests"], - buildOptions: { verbose: true, force: true }, - watchOptions: undefined - }); - }); - - it("Parse option with invalid option ", () => { - // --lib es5,invalidOption 0.ts - assertParseResult(["--verbose", "--invalidOption"], - { - errors: [{ - messageText: "Unknown build option '--invalidOption'.", - category: Diagnostics.Unknown_build_option_0.category, - code: Diagnostics.Unknown_build_option_0.code, - file: undefined, - start: undefined, - length: undefined, - }], - projects: ["."], - buildOptions: { verbose: true }, - watchOptions: undefined - }); - }); - - it("parse build with listFilesOnly ", () => { - // --lib es6 0.ts - assertParseResult(["--listFilesOnly"], - { - errors: [{ - messageText: "Compiler option '--listFilesOnly' may not be used with '--build'.", - category: Diagnostics.Compiler_option_0_may_not_be_used_with_build.category, - code: Diagnostics.Compiler_option_0_may_not_be_used_with_build.code, - file: undefined, - start: undefined, - length: undefined, - }], - projects: ["."], - buildOptions: {}, - watchOptions: undefined, - }); - }); - - it("Parse multiple flags with input projects at the end", () => { - // --lib es5,es2015.symbol.wellknown --target es5 0.ts - assertParseResult(["--force", "--verbose", "src", "tests"], - { - errors: [], - projects: ["src", "tests"], - buildOptions: { force: true, verbose: true }, - watchOptions: undefined, - }); - }); - - it("Parse multiple flags with input projects in the middle", () => { - // --module commonjs --target es5 0.ts --lib es5,es2015.symbol.wellknown - assertParseResult(["--force", "src", "tests", "--verbose"], - { - errors: [], - projects: ["src", "tests"], - buildOptions: { force: true, verbose: true }, - watchOptions: undefined, - }); - }); - - it("Parse multiple flags with input projects in the beginning", () => { - // --module commonjs --target es5 0.ts --lib es5,es2015.symbol.wellknown - assertParseResult(["src", "tests", "--force", "--verbose"], - { - errors: [], - projects: ["src", "tests"], - buildOptions: { force: true, verbose: true }, - watchOptions: undefined, - }); - }); - - it("parse build with --incremental", () => { - // --lib es6 0.ts - assertParseResult(["--incremental", "tests"], - { - errors: [], - projects: ["tests"], - buildOptions: { incremental: true }, - watchOptions: undefined, - }); - }); - - it("parse build with --locale en-us", () => { - // --lib es6 0.ts - assertParseResult(["--locale", "en-us", "src"], - { - errors: [], - projects: ["src"], - buildOptions: { locale: "en-us" }, - watchOptions: undefined, - }); - }); - - it("parse build with --tsBuildInfoFile", () => { - // --lib es6 0.ts - assertParseResult(["--tsBuildInfoFile", "build.tsbuildinfo", "tests"], - { - errors: [{ - messageText: "Compiler option '--tsBuildInfoFile' may not be used with '--build'.", - category: Diagnostics.Compiler_option_0_may_not_be_used_with_build.category, - code: Diagnostics.Compiler_option_0_may_not_be_used_with_build.code, - file: undefined, - start: undefined, - length: undefined - }], - projects: ["build.tsbuildinfo", "tests"], - buildOptions: {}, - watchOptions: undefined, - }); - }); - - it("reports other common 'may not be used with --build' flags", () => { - const buildFlags = ["--declaration", "--strict"]; - - assertParseResult(buildFlags, { - errors: buildFlags.map(buildFlag => ({ - messageText: `Compiler option '${buildFlag}' may not be used with '--build'.`, - category: Diagnostics.Compiler_option_0_may_not_be_used_with_build.category, - code: Diagnostics.Compiler_option_0_may_not_be_used_with_build.code, - file: undefined, - start: undefined, - length: undefined - })), - buildOptions: {}, - projects: ["."], - watchOptions: undefined, + function assertParseResult(subScenario: string, commandLine: string[]) { + it(subScenario, () => { + const baseline: string[] = []; + baseline.push(commandLine.join(" ")); + const parsed = parseBuildCommand(commandLine); + baseline.push("buildOptions::"); + baseline.push(JSON.stringify(parsed.buildOptions, /*replacer*/ undefined, " ")); + baseline.push("WatchOptions::"); + baseline.push(JSON.stringify(parsed.watchOptions, /*replacer*/ undefined, " ")); + baseline.push("Projects::"); + baseline.push(parsed.projects.join()); + baseline.push("Errors::"); + baseline.push(formatDiagnostics(parsed.errors, { + getCurrentDirectory: () => "/", + getCanonicalFileName: identity, + getNewLine: () => "\n", + })); + Harness.Baseline.runBaseline(`config/commandLineParsing/parseBuildOptions/${subScenario}.js`, baseline.join("\n")); }); - }); + } + assertParseResult("parse build without any options ", []); + assertParseResult("Parse multiple options", ["--verbose", "--force", "tests"]); + assertParseResult("Parse option with invalid option", ["--verbose", "--invalidOption"]); + assertParseResult("Parse multiple flags with input projects at the end", ["--force", "--verbose", "src", "tests"]); + assertParseResult("Parse multiple flags with input projects in the middle", ["--force", "src", "tests", "--verbose"]); + assertParseResult("Parse multiple flags with input projects in the beginning", ["src", "tests", "--force", "--verbose"]); + assertParseResult("parse build with --incremental", ["--incremental", "tests"]); + assertParseResult("parse build with --locale en-us", ["--locale", "en-us", "src"]); + assertParseResult("parse build with --tsBuildInfoFile", ["--tsBuildInfoFile", "build.tsbuildinfo", "tests"]); + assertParseResult("reports other common may not be used with --build flags", ["--declaration", "--strict"]); describe("Combining options that make no sense together", () => { function verifyInvalidCombination(flag1: keyof BuildOptions, flag2: keyof BuildOptions) { - it(`--${flag1} and --${flag2} together is invalid`, () => { - // --module commonjs --target es5 0.ts --lib es5,es2015.symbol.wellknown - assertParseResult([`--${flag1}`, `--${flag2}`], - { - errors: [{ - messageText: `Options '${flag1}' and '${flag2}' cannot be combined.`, - category: Diagnostics.Options_0_and_1_cannot_be_combined.category, - code: Diagnostics.Options_0_and_1_cannot_be_combined.code, - file: undefined, - start: undefined, - length: undefined, - }], - projects: ["."], - buildOptions: { [flag1]: true, [flag2]: true }, - watchOptions: undefined, - }); - }); + assertParseResult(`--${flag1} and --${flag2} together is invalid`, [`--${flag1}`, `--${flag2}`]); } - verifyInvalidCombination("clean", "force"); verifyInvalidCombination("clean", "verbose"); verifyInvalidCombination("clean", "watch"); @@ -940,120 +233,14 @@ namespace ts { }); describe("Watch options", () => { - it("parse --watchFile", () => { - assertParseResult(["--watchFile", "UseFsEvents", "--verbose"], - { - errors: [], - projects: ["."], - buildOptions: { verbose: true }, - watchOptions: { watchFile: WatchFileKind.UseFsEvents } - }); - }); - - it("parse --watchDirectory", () => { - assertParseResult(["--watchDirectory", "FixedPollingInterval", "--verbose"], - { - errors: [], - projects: ["."], - buildOptions: { verbose: true }, - watchOptions: { watchDirectory: WatchDirectoryKind.FixedPollingInterval } - }); - }); - - it("parse --fallbackPolling", () => { - assertParseResult(["--fallbackPolling", "PriorityInterval", "--verbose"], - { - errors: [], - projects: ["."], - buildOptions: { verbose: true }, - watchOptions: { fallbackPolling: PollingWatchKind.PriorityInterval } - }); - }); - - it("parse --synchronousWatchDirectory", () => { - assertParseResult(["--synchronousWatchDirectory", "--verbose"], - { - errors: [], - projects: ["."], - buildOptions: { verbose: true }, - watchOptions: { synchronousWatchDirectory: true } - }); - }); - - it("errors on missing argument", () => { - assertParseResult(["--verbose", "--fallbackPolling"], - { - errors: [ - { - messageText: "Watch option 'fallbackPolling' requires a value of type string.", - category: Diagnostics.Watch_option_0_requires_a_value_of_type_1.category, - code: Diagnostics.Watch_option_0_requires_a_value_of_type_1.code, - file: undefined, - start: undefined, - length: undefined - }, - { - messageText: "Argument for '--fallbackPolling' option must be: 'fixedinterval', 'priorityinterval', 'dynamicpriority', 'fixedchunksize'.", - category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category, - code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code, - file: undefined, - start: undefined, - length: undefined - } - ], - projects: ["."], - buildOptions: { verbose: true }, - watchOptions: { fallbackPolling: undefined } - }); - }); - - it("errors on invalid excludeDirectories", () => { - assertParseResult(["--excludeDirectories", "**/../*"], - { - errors: [ - { - messageText: `File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'.`, - category: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.category, - code: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.code, - file: undefined, - start: undefined, - length: undefined - } - ], - projects: ["."], - buildOptions: {}, - watchOptions: { excludeDirectories: [] } - }); - }); - - it("parse --excludeFiles", () => { - assertParseResult(["--excludeFiles", "**/temp/*.ts"], - { - errors: [], - projects: ["."], - buildOptions: {}, - watchOptions: { excludeFiles: ["**/temp/*.ts"] } - }); - }); - - it("errors on invalid excludeFiles", () => { - assertParseResult(["--excludeFiles", "**/../*"], - { - errors: [ - { - messageText: `File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'.`, - category: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.category, - code: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.code, - file: undefined, - start: undefined, - length: undefined - } - ], - projects: ["."], - buildOptions: {}, - watchOptions: { excludeFiles: [] } - }); - }); + assertParseResult("parse --watchFile", ["--watchFile", "UseFsEvents", "--verbose"]); + assertParseResult("parse --watchDirectory", ["--watchDirectory", "FixedPollingInterval", "--verbose"]); + assertParseResult("parse --fallbackPolling", ["--fallbackPolling", "PriorityInterval", "--verbose"]); + assertParseResult("parse --synchronousWatchDirectory", ["--synchronousWatchDirectory", "--verbose"]); + assertParseResult("errors on missing argument", ["--verbose", "--fallbackPolling"]); + assertParseResult("errors on invalid excludeDirectories", ["--excludeDirectories", "**/../*"]); + assertParseResult("parse --excludeFiles", ["--excludeFiles", "**/temp/*.ts"]); + assertParseResult("errors on invalid excludeFiles", ["--excludeFiles", "**/../*"]); }); }); } diff --git a/src/testRunner/unittests/config/initializeTSConfig.ts b/src/testRunner/unittests/config/initializeTSConfig.ts index 68c56ac4e179f..d92c906f46180 100644 --- a/src/testRunner/unittests/config/initializeTSConfig.ts +++ b/src/testRunner/unittests/config/initializeTSConfig.ts @@ -4,7 +4,7 @@ namespace ts { describe(name, () => { const commandLine = parseCommandLine(commandLinesArgs); const initResult = generateTSConfig(commandLine.options, commandLine.fileNames, "\n"); - const outputFileName = `tsConfig/${name.replace(/[^a-z0-9\-. ]/ig, "")}/tsconfig.json`; + const outputFileName = `config/initTSConfig/${name.replace(/[^a-z0-9\-. ]/ig, "")}/tsconfig.json`; it(`Correct output for ${outputFileName}`, () => { Harness.Baseline.runBaseline(outputFileName, initResult, { PrintDiff: true }); diff --git a/src/testRunner/unittests/config/showConfig.ts b/src/testRunner/unittests/config/showConfig.ts index f8905e3412677..530d3c7e56904 100644 --- a/src/testRunner/unittests/config/showConfig.ts +++ b/src/testRunner/unittests/config/showConfig.ts @@ -2,7 +2,7 @@ namespace ts { describe("unittests:: config:: showConfig", () => { function showTSConfigCorrectly(name: string, commandLinesArgs: string[], configJson?: object) { describe(name, () => { - const outputFileName = `showConfig/${name.replace(/[^a-z0-9\-./ ]/ig, "")}/tsconfig.json`; + const outputFileName = `config/showConfig/${name.replace(/[^a-z0-9\-./ ]/ig, "")}/tsconfig.json`; it(`Correct output for ${outputFileName}`, () => { const cwd = `/${name}`; diff --git a/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts b/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts index 120dd42d2c542..a8179558baa2f 100644 --- a/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts +++ b/src/testRunner/unittests/config/tsconfigParsingWatchOptions.ts @@ -42,190 +42,132 @@ namespace ts { interface VerifyWatchOptions { json: object; - expectedOptions: WatchOptions | undefined; additionalFiles?: vfs.FileSet; existingWatchOptions?: WatchOptions | undefined; - expectedErrors?: (sourceFile?: SourceFile) => Diagnostic[]; } - function verifyWatchOptions(scenario: () => VerifyWatchOptions[]) { - it("with json api", () => { - for (const { json, expectedOptions, additionalFiles, existingWatchOptions, expectedErrors } of scenario()) { - const parsed = getParsedCommandJson(json, additionalFiles, existingWatchOptions); - assert.deepEqual(parsed.watchOptions, expectedOptions, `With ${JSON.stringify(json)}`); - if (length(parsed.errors)) { - assert.deepEqual(parsed.errors, expectedErrors?.()); + function verifyWatchOptions(subScenario: string, scenario: () => VerifyWatchOptions[]) { + describe(subScenario, () => { + it("with json api", () => { + const baseline: string[] = []; + for (const { json, additionalFiles, existingWatchOptions } of scenario()) { + addToBaseLine(baseline, json, getParsedCommandJson(json, additionalFiles, existingWatchOptions)); } - else { - assert.equal(0, length(expectedErrors?.()), `Expected no errors`); - } - } - }); + runBaseline(`${subScenario} with json api`, baseline); + }); - it("with json source file api", () => { - for (const { json, expectedOptions, additionalFiles, existingWatchOptions, expectedErrors } of scenario()) { - const parsed = getParsedCommandJsonNode(json, additionalFiles, existingWatchOptions); - assert.deepEqual(parsed.watchOptions, expectedOptions); - if (length(parsed.errors)) { - assert.deepEqual(parsed.errors, expectedErrors?.(parsed.options.configFile)); - } - else { - assert.equal(0, length(expectedErrors?.(parsed.options.configFile)), `Expected no errors`); + it("with json source file api", () => { + const baseline: string[] = []; + for (const { json, additionalFiles, existingWatchOptions, } of scenario()) { + addToBaseLine(baseline, json, getParsedCommandJsonNode(json, additionalFiles, existingWatchOptions)); } - } + runBaseline(`${subScenario} with jsonSourceFile api`, baseline); + }); }); + function addToBaseLine(baseline: string[], json: object, parsed: ParsedCommandLine) { + baseline.push(`Input:: ${JSON.stringify(json, /*replacer*/ undefined, " ")}`); + baseline.push(`Result: WatchOptions::`); + baseline.push(JSON.stringify(parsed.watchOptions, /*replacer*/ undefined, " ")); + baseline.push(`Result: Errors::`); + baseline.push(formatDiagnosticsWithColorAndContext(parsed.errors, { + getCurrentDirectory: () => "/", + getCanonicalFileName: identity, + getNewLine: () => "\n" + })); + } + function runBaseline(subScenario: string, baseline: readonly string[]) { + Harness.Baseline.runBaseline(`config/tsconfigParsingWatchOptions/${subScenario}.js`, baseline.join("\n")); + } } - describe("no watchOptions specified option", () => { - verifyWatchOptions(() => [{ - json: {}, - expectedOptions: undefined - }]); - }); + verifyWatchOptions("no watchOptions specified option", () => [{ + json: {}, + }]); - describe("empty watchOptions specified option", () => { - verifyWatchOptions(() => [{ - json: { watchOptions: {} }, - expectedOptions: undefined - }]); - }); + verifyWatchOptions("empty watchOptions specified option", () => [{ + json: { watchOptions: {} }, + }]); - describe("extending config file", () => { - describe("when extending config file without watchOptions", () => { - verifyWatchOptions(() => [ - { - json: { - extends: "./base.json", - watchOptions: { watchFile: "UseFsEvents" } - }, - expectedOptions: { watchFile: WatchFileKind.UseFsEvents }, - additionalFiles: { "/base.json": "{}" } - }, - { - json: { extends: "./base.json", }, - expectedOptions: undefined, - additionalFiles: { "/base.json": "{}" } - } - ]); - }); + verifyWatchOptions("when extending config file without watchOptions", () => [ + { + json: { + extends: "./base.json", + watchOptions: { watchFile: "UseFsEvents" } + }, + additionalFiles: { "/base.json": "{}" } + }, + { + json: { extends: "./base.json", }, + additionalFiles: { "/base.json": "{}" } + } + ]); - describe("when extending config file with watchOptions", () => { - verifyWatchOptions(() => [ - { - json: { - extends: "./base.json", - watchOptions: { - watchFile: "UseFsEvents", - } - }, - expectedOptions: { - watchFile: WatchFileKind.UseFsEvents, - watchDirectory: WatchDirectoryKind.FixedPollingInterval - }, - additionalFiles: { - "/base.json": JSON.stringify({ - watchOptions: { - watchFile: "UseFsEventsOnParentDirectory", - watchDirectory: "FixedPollingInterval" - } - }) - } - }, - { - json: { - extends: "./base.json", - }, - expectedOptions: { - watchFile: WatchFileKind.UseFsEventsOnParentDirectory, - watchDirectory: WatchDirectoryKind.FixedPollingInterval - }, - additionalFiles: { - "/base.json": JSON.stringify({ - watchOptions: { - watchFile: "UseFsEventsOnParentDirectory", - watchDirectory: "FixedPollingInterval" - } - }) - } + verifyWatchOptions("when extending config file with watchOptions", () => [ + { + json: { + extends: "./base.json", + watchOptions: { + watchFile: "UseFsEvents", } - ]); - }); - }); - - describe("different options", () => { - verifyWatchOptions(() => [ - { - json: { watchOptions: { watchFile: "UseFsEvents" } }, - expectedOptions: { watchFile: WatchFileKind.UseFsEvents } - }, - { - json: { watchOptions: { watchDirectory: "UseFsEvents" } }, - expectedOptions: { watchDirectory: WatchDirectoryKind.UseFsEvents } - }, - { - json: { watchOptions: { fallbackPolling: "DynamicPriority" } }, - expectedOptions: { fallbackPolling: PollingWatchKind.DynamicPriority } - }, - { - json: { watchOptions: { synchronousWatchDirectory: true } }, - expectedOptions: { synchronousWatchDirectory: true } - }, - { - json: { watchOptions: { excludeDirectories: ["**/temp"] } }, - expectedOptions: { excludeDirectories: ["/**/temp"] } - }, - { - json: { watchOptions: { excludeFiles: ["**/temp/*.ts"] } }, - expectedOptions: { excludeFiles: ["/**/temp/*.ts"] } }, - { - json: { watchOptions: { excludeDirectories: ["**/../*"] } }, - expectedOptions: { excludeDirectories: [] }, - expectedErrors: sourceFile => [ - { - messageText: `File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'.`, - category: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.category, - code: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.code, - file: sourceFile, - start: sourceFile && sourceFile.text.indexOf(`"**/../*"`), - length: sourceFile && `"**/../*"`.length, - reportsDeprecated: undefined, - reportsUnnecessary: undefined + additionalFiles: { + "/base.json": JSON.stringify({ + watchOptions: { + watchFile: "UseFsEventsOnParentDirectory", + watchDirectory: "FixedPollingInterval" } - ] + }) + } + }, + { + json: { + extends: "./base.json", }, - { - json: { watchOptions: { excludeFiles: ["**/../*"] } }, - expectedOptions: { excludeFiles: [] }, - expectedErrors: sourceFile => [ - { - messageText: `File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'.`, - category: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.category, - code: Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0.code, - file: sourceFile, - start: sourceFile && sourceFile.text.indexOf(`"**/../*"`), - length: sourceFile && `"**/../*"`.length, - reportsDeprecated: undefined, - reportsUnnecessary: undefined + additionalFiles: { + "/base.json": JSON.stringify({ + watchOptions: { + watchFile: "UseFsEventsOnParentDirectory", + watchDirectory: "FixedPollingInterval" } - ] - }, - ]); - }); + }) + } + } + ]); - describe("watch options extending passed in watch options", () => { - verifyWatchOptions(() => [ - { - json: { watchOptions: { watchFile: "UseFsEvents" } }, - expectedOptions: { watchFile: WatchFileKind.UseFsEvents, watchDirectory: WatchDirectoryKind.FixedPollingInterval }, - existingWatchOptions: { watchDirectory: WatchDirectoryKind.FixedPollingInterval } - }, - { - json: {}, - expectedOptions: { watchDirectory: WatchDirectoryKind.FixedPollingInterval }, - existingWatchOptions: { watchDirectory: WatchDirectoryKind.FixedPollingInterval } - }, - ]); - }); + verifyWatchOptions("different options", () => [ + { + json: { watchOptions: { watchFile: "UseFsEvents" } }, + }, + { + json: { watchOptions: { watchDirectory: "UseFsEvents" } }, + }, + { + json: { watchOptions: { fallbackPolling: "DynamicPriority" } }, + }, + { + json: { watchOptions: { synchronousWatchDirectory: true } }, + }, + { + json: { watchOptions: { excludeDirectories: ["**/temp"] } }, + }, + { + json: { watchOptions: { excludeFiles: ["**/temp/*.ts"] } }, + }, + { + json: { watchOptions: { excludeDirectories: ["**/../*"] } }, + }, + { + json: { watchOptions: { excludeFiles: ["**/../*"] } }, + }, + ]); + + verifyWatchOptions("watch options extending passed in watch options", () => [ + { + json: { watchOptions: { watchFile: "UseFsEvents" } }, + }, + { + json: {}, + }, + ]); }); } diff --git a/src/testRunner/unittests/evaluation/forAwaitOf.ts b/src/testRunner/unittests/evaluation/forAwaitOf.ts index c7be018cbc9e6..c541d155bfca1 100644 --- a/src/testRunner/unittests/evaluation/forAwaitOf.ts +++ b/src/testRunner/unittests/evaluation/forAwaitOf.ts @@ -102,4 +102,31 @@ describe("unittests:: evaluation:: forAwaitOfEvaluation", () => { assert.instanceOf(result.output[1], Promise); assert.instanceOf(result.output[2], Promise); }); + + it("don't call return when non-user code throws (es2015)", async () => { + const result = evaluator.evaluateTypeScript(` + let returnCalled = false; + async function f() { + let i = 0; + const iterator = { + [Symbol.asyncIterator](): AsyncIterableIterator { return this; }, + async next() { + i++; + if (i < 2) return { value: undefined, done: false }; + throw new Error(); + }, + async return() { + returnCalled = true; + } + }; + for await (const item of iterator) { + } + } + export async function main() { + try { await f(); } catch { } + return returnCalled; + } + `, { target: ts.ScriptTarget.ES2015 }); + assert.isFalse(await result.main()); + }); }); diff --git a/src/testRunner/unittests/evaluation/generator.ts b/src/testRunner/unittests/evaluation/generator.ts new file mode 100644 index 0000000000000..e97dff75dde79 --- /dev/null +++ b/src/testRunner/unittests/evaluation/generator.ts @@ -0,0 +1,33 @@ +describe("unittests:: evaluation:: generatorEvaluation", () => { + it("throw before start (es5)", () => { + const { gen, output } = evaluator.evaluateTypeScript(` + export const output: string[] = []; + export function * gen() { + output.push("start"); + yield 1; + output.push("end"); + } + `, { target: ts.ScriptTarget.ES5 }); + + const g = gen(); + const e = new Error(); + assert.throws(() => g.throw(e), e); + assert.deepEqual(g.next(), { value: undefined, done: true }); + assert.deepEqual(output, []); + }); + it("return before start (es5)", () => { + const { gen, output } = evaluator.evaluateTypeScript(` + export const output: string[] = []; + export function * gen() { + output.push("start"); + yield 1; + output.push("end"); + } + `, { target: ts.ScriptTarget.ES5 }); + + const g = gen(); + assert.deepEqual(g.return(2), { value: 2, done: true }); + assert.deepEqual(g.next(), { value: undefined, done: true }); + assert.deepEqual(output, []); + }); +}); diff --git a/src/testRunner/unittests/semver.ts b/src/testRunner/unittests/semver.ts index 2e6a61fbad87d..272704c8d0366 100644 --- a/src/testRunner/unittests/semver.ts +++ b/src/testRunner/unittests/semver.ts @@ -1,29 +1,6 @@ namespace ts { import theory = Utils.theory; describe("unittests:: semver", () => { - describe("VersionRange", () => { - function assertVersionRange(version: string, good: string[], bad: string[]): () => void { - return () => { - const range = VersionRange.tryParse(version)!; - assert(range); - for (const g of good) { - assert.isTrue(range.test(g), g); - } - for (const b of bad) { - assert.isFalse(range.test(b), b); - } - }; - } - it("< works", assertVersionRange("<3.8.0", ["3.6", "3.7"], ["3.8", "3.9", "4.0"])); - it("<= works", assertVersionRange("<=3.8.0", ["3.6", "3.7", "3.8"], ["3.9", "4.0"])); - it("> works", assertVersionRange(">3.8.0", ["3.9", "4.0"], ["3.6", "3.7", "3.8"])); - it(">= works", assertVersionRange(">=3.8.0", ["3.8", "3.9", "4.0"], ["3.6", "3.7"])); - - it("< works with prerelease", assertVersionRange("<3.8.0-0", ["3.6", "3.7"], ["3.8", "3.9", "4.0"])); - it("<= works with prerelease", assertVersionRange("<=3.8.0-0", ["3.6", "3.7"], ["3.8", "3.9", "4.0"])); - it("> works with prerelease", assertVersionRange(">3.8.0-0", ["3.8", "3.9", "4.0"], ["3.6", "3.7"])); - it(">= works with prerelease", assertVersionRange(">=3.8.0-0", ["3.8", "3.9", "4.0"], ["3.6", "3.7"])); - }); describe("Version", () => { function assertVersion(version: Version, [major, minor, patch, prerelease, build]: [number, number, number, string[]?, string[]?]) { assert.strictEqual(version.major, major); @@ -38,6 +15,7 @@ namespace ts { }); it("parts", () => { assertVersion(new Version(1, 2, 3, "pre.4", "build.5"), [1, 2, 3, ["pre", "4"], ["build", "5"]]); + assertVersion(new Version(1, 2, 3, ["pre", "4"], ["build", "5"]), [1, 2, 3, ["pre", "4"], ["build", "5"]]); assertVersion(new Version(1, 2, 3), [1, 2, 3]); assertVersion(new Version(1, 2), [1, 2, 0]); assertVersion(new Version(1), [1, 0, 0]); @@ -120,129 +98,826 @@ namespace ts { }); }); describe("VersionRange", () => { - function assertRange(rangeText: string, versionText: string, inRange = true) { + it("major wildcard types treated the same", () => { + const versionStrings = [ + "", + "*", + "*.*", + "*.*.*", + "x", + "x.x", + "x.x.x", + "X", + "X.X", + "X.X.X", + ]; + for (let i = 0; i < versionStrings.length; i++) { + for (let j = i + 1; j < versionStrings.length; j++) { + const left = new VersionRange(versionStrings[i]); + const right = new VersionRange(versionStrings[j]); + assert.strictEqual(left.toString(), right.toString()); + } + } + }); + + it("minor wildcard types treated the same", () => { + const versionStrings = [ + "1.*", + "1.*.*", + "1.x", + "1.x.x", + "1.X", + "1.X.X", + ]; + for (let i = 0; i < versionStrings.length; i++) { + for (let j = i + 1; j < versionStrings.length; j++) { + const left = new VersionRange(versionStrings[i]); + const right = new VersionRange(versionStrings[j]); + assert.strictEqual(left.toString(), right.toString()); + } + } + }); + + it("patch wildcard types treated the same", () => { + const versionStrings = [ + "1.2.*", + "1.2.x", + "1.2.X", + ]; + for (let i = 0; i < versionStrings.length; i++) { + for (let j = i + 1; j < versionStrings.length; j++) { + const left = new VersionRange(versionStrings[i]); + const right = new VersionRange(versionStrings[j]); + assert.strictEqual(left.toString(), right.toString()); + } + } + }); + + function assertVersionRange(version: string, good: string[], bad: string[]): () => void { + return () => { + const range = VersionRange.tryParse(version)!; + assert(range); + for (const g of good) { + assert.isTrue(range.test(g), g); + } + for (const b of bad) { + assert.isFalse(range.test(b), b); + } + }; + } + + it("< works", assertVersionRange("<3.8.0", ["3.6", "3.7"], ["3.8", "3.9", "4.0"])); + it("<= works", assertVersionRange("<=3.8.0", ["3.6", "3.7", "3.8"], ["3.9", "4.0"])); + it("> works", assertVersionRange(">3.8.0", ["3.9", "4.0"], ["3.6", "3.7", "3.8"])); + it(">= works", assertVersionRange(">=3.8.0", ["3.8", "3.9", "4.0"], ["3.6", "3.7"])); + + it("< works with prerelease", assertVersionRange("<3.8.0-0", ["3.6", "3.7"], ["3.8", "3.9", "4.0"])); + it("<= works with prerelease", assertVersionRange("<=3.8.0-0", ["3.6", "3.7"], ["3.8", "3.9", "4.0"])); + it("> works with prerelease", assertVersionRange(">3.8.0-0", ["3.8", "3.9", "4.0"], ["3.6", "3.7"])); + it(">= works with prerelease", assertVersionRange(">=3.8.0-0", ["3.8", "3.9", "4.0"], ["3.6", "3.7"])); + + function assertRange(rangeText: string, versionText: string, inRange: boolean) { const range = new VersionRange(rangeText); const version = new Version(versionText); assert.strictEqual(range.test(version), inRange, `Expected version '${version}' ${inRange ? `to be` : `to not be`} in range '${rangeText}' (${range})`); } + theory("comparators", assertRange, [ - ["", "1.0.0"], - ["*", "1.0.0"], - ["1", "1.0.0"], + // empty (matches everything) + ["", "2.0.0", true], + ["", "2.0.0-0", true], + ["", "1.1.0", true], + ["", "1.1.0-0", true], + ["", "1.0.1", true], + ["", "1.0.1-0", true], + ["", "1.0.0", true], + ["", "1.0.0-0", true], + ["", "0.0.0", true], + ["", "0.0.0-0", true], + + // wildcard major (matches everything) + ["*", "2.0.0", true], + ["*", "2.0.0-0", true], + ["*", "1.1.0", true], + ["*", "1.1.0-0", true], + ["*", "1.0.1", true], + ["*", "1.0.1-0", true], + ["*", "1.0.0", true], + ["*", "1.0.0-0", true], + ["*", "0.0.0", true], + ["*", "0.0.0-0", true], + + // wildcard minor ["1", "2.0.0", false], - ["1.0", "1.0.0"], + ["1", "2.0.0-0", false], + ["1", "1.1.0", true], + ["1", "1.1.0-0", true], + ["1", "1.0.1", true], + ["1", "1.0.1-0", true], + ["1", "1.0.0", true], + ["1", "1.0.0-0", true], + ["1", "0.0.0", false], + ["1", "0.0.0-0", false], + + // wildcard patch + ["1.1", "2.0.0", false], + ["1.1", "2.0.0-0", false], + ["1.1", "1.1.0", true], + ["1.1", "1.1.0-0", true], + ["1.1", "1.0.1", false], + ["1.1", "1.0.1-0", false], + ["1.1", "1.0.0", false], + ["1.1", "1.0.0-0", false], + ["1.1", "0.0.0", false], + ["1.1", "0.0.0-0", false], + ["1.0", "2.0.0", false], + ["1.0", "2.0.0-0", false], ["1.0", "1.1.0", false], - ["1.0.0", "1.0.0"], + ["1.0", "1.1.0-0", false], + ["1.0", "1.0.1", true], + ["1.0", "1.0.1-0", true], + ["1.0", "1.0.0", true], + ["1.0", "1.0.0-0", true], + ["1.0", "0.0.0", false], + ["1.0", "0.0.0-0", false], + + // exact + ["1.1.0", "2.0.0", false], + ["1.1.0", "2.0.0-0", false], + ["1.1.0", "1.1.0", true], + ["1.1.0", "1.1.0-0", false], + ["1.1.0", "1.0.1", false], + ["1.1.0", "1.0.1-0", false], + ["1.1.0", "1.0.0-0", false], + ["1.1.0", "1.0.0", false], + ["1.1.0", "0.0.0", false], + ["1.1.0", "0.0.0-0", false], + ["1.1.0-0", "2.0.0", false], + ["1.1.0-0", "2.0.0-0", false], + ["1.1.0-0", "1.1.0", false], + ["1.1.0-0", "1.1.0-0", true], + ["1.1.0-0", "1.0.1", false], + ["1.1.0-0", "1.0.1-0", false], + ["1.1.0-0", "1.0.0-0", false], + ["1.1.0-0", "1.0.0", false], + ["1.1.0-0", "0.0.0", false], + ["1.1.0-0", "0.0.0-0", false], + ["1.0.1", "2.0.0", false], + ["1.0.1", "2.0.0-0", false], + ["1.0.1", "1.1.0", false], + ["1.0.1", "1.1.0-0", false], + ["1.0.1", "1.0.1", true], + ["1.0.1", "1.0.1-0", false], + ["1.0.1", "1.0.0-0", false], + ["1.0.1", "1.0.0", false], + ["1.0.1", "0.0.0", false], + ["1.0.1", "0.0.0-0", false], + ["1.0.1-0", "2.0.0", false], + ["1.0.1-0", "2.0.0-0", false], + ["1.0.1-0", "1.1.0", false], + ["1.0.1-0", "1.1.0-0", false], + ["1.0.1-0", "1.0.1", false], + ["1.0.1-0", "1.0.1-0", true], + ["1.0.1-0", "1.0.0-0", false], + ["1.0.1-0", "1.0.0", false], + ["1.0.1-0", "0.0.0", false], + ["1.0.1-0", "0.0.0-0", false], + ["1.0.0", "2.0.0", false], + ["1.0.0", "2.0.0-0", false], + ["1.0.0", "1.1.0", false], + ["1.0.0", "1.1.0-0", false], ["1.0.0", "1.0.1", false], - ["1.*", "1.0.0"], - ["1.*", "2.0.0", false], - ["1.x", "1.0.0"], - ["1.x", "2.0.0", false], - ["=1", "1.0.0"], - ["=1", "1.1.0"], - ["=1", "1.0.1"], - ["=1.0", "1.0.0"], - ["=1.0", "1.0.1"], - ["=1.0.0", "1.0.0"], - ["=*", "0.0.0"], - ["=*", "1.0.0"], - [">1", "2"], - [">1.0", "1.1"], - [">1.0.0", "1.0.1"], - [">1.0.0", "1.0.1-pre"], - [">*", "0.0.0", false], + ["1.0.0", "1.0.1-0", false], + ["1.0.0", "1.0.0-0", false], + ["1.0.0", "1.0.0", true], + ["1.0.0", "0.0.0", false], + ["1.0.0", "0.0.0-0", false], + ["1.0.0-0", "2.0.0", false], + ["1.0.0-0", "2.0.0-0", false], + ["1.0.0-0", "1.1.0", false], + ["1.0.0-0", "1.1.0-0", false], + ["1.0.0-0", "1.0.1", false], + ["1.0.0-0", "1.0.1-0", false], + ["1.0.0-0", "1.0.0", false], + ["1.0.0-0", "1.0.0-0", true], + + // = wildcard major (matches everything) + ["=*", "2.0.0", true], + ["=*", "2.0.0-0", true], + ["=*", "1.1.0", true], + ["=*", "1.1.0-0", true], + ["=*", "1.0.1", true], + ["=*", "1.0.1-0", true], + ["=*", "1.0.0", true], + ["=*", "1.0.0-0", true], + ["=*", "0.0.0", true], + ["=*", "0.0.0-0", true], + + // = wildcard minor + ["=1", "2.0.0", false], + ["=1", "2.0.0-0", false], + ["=1", "1.1.0", true], + ["=1", "1.1.0-0", true], + ["=1", "1.0.1", true], + ["=1", "1.0.1-0", true], + ["=1", "1.0.0", true], + ["=1", "1.0.0-0", true], + ["=1", "0.0.0", false], + ["=1", "0.0.0-0", false], + + // = wildcard patch + ["=1.1", "2.0.0", false], + ["=1.1", "2.0.0-0", false], + ["=1.1", "1.1.0", true], + ["=1.1", "1.1.0-0", true], + ["=1.1", "1.0.1", false], + ["=1.1", "1.0.1-0", false], + ["=1.1", "1.0.0", false], + ["=1.1", "1.0.0-0", false], + ["=1.1", "0.0.0", false], + ["=1.1", "0.0.0-0", false], + ["=1.0", "2.0.0", false], + ["=1.0", "2.0.0-0", false], + ["=1.0", "1.1.0", false], + ["=1.0", "1.1.0-0", false], + ["=1.0", "1.0.1", true], + ["=1.0", "1.0.1-0", true], + ["=1.0", "1.0.0", true], + ["=1.0", "1.0.0-0", true], + ["=1.0", "0.0.0", false], + ["=1.0", "0.0.0-0", false], + + // = exact + ["=1.1.0", "2.0.0", false], + ["=1.1.0", "2.0.0-0", false], + ["=1.1.0", "1.1.0", true], + ["=1.1.0", "1.1.0-0", false], + ["=1.1.0", "1.0.1", false], + ["=1.1.0", "1.0.1-0", false], + ["=1.1.0", "1.0.0-0", false], + ["=1.1.0", "1.0.0", false], + ["=1.1.0", "0.0.0", false], + ["=1.1.0", "0.0.0-0", false], + ["=1.1.0-0", "2.0.0", false], + ["=1.1.0-0", "2.0.0-0", false], + ["=1.1.0-0", "1.1.0", false], + ["=1.1.0-0", "1.1.0-0", true], + ["=1.1.0-0", "1.0.1", false], + ["=1.1.0-0", "1.0.1-0", false], + ["=1.1.0-0", "1.0.0-0", false], + ["=1.1.0-0", "1.0.0", false], + ["=1.1.0-0", "0.0.0", false], + ["=1.1.0-0", "0.0.0-0", false], + ["=1.0.1", "2.0.0", false], + ["=1.0.1", "2.0.0-0", false], + ["=1.0.1", "1.1.0", false], + ["=1.0.1", "1.1.0-0", false], + ["=1.0.1", "1.0.1", true], + ["=1.0.1", "1.0.1-0", false], + ["=1.0.1", "1.0.0-0", false], + ["=1.0.1", "1.0.0", false], + ["=1.0.1", "0.0.0", false], + ["=1.0.1", "0.0.0-0", false], + ["=1.0.1-0", "2.0.0", false], + ["=1.0.1-0", "2.0.0-0", false], + ["=1.0.1-0", "1.1.0", false], + ["=1.0.1-0", "1.1.0-0", false], + ["=1.0.1-0", "1.0.1", false], + ["=1.0.1-0", "1.0.1-0", true], + ["=1.0.1-0", "1.0.0-0", false], + ["=1.0.1-0", "1.0.0", false], + ["=1.0.1-0", "0.0.0", false], + ["=1.0.1-0", "0.0.0-0", false], + ["=1.0.0", "2.0.0", false], + ["=1.0.0", "2.0.0-0", false], + ["=1.0.0", "1.1.0", false], + ["=1.0.0", "1.1.0-0", false], + ["=1.0.0", "1.0.1", false], + ["=1.0.0", "1.0.1-0", false], + ["=1.0.0", "1.0.0-0", false], + ["=1.0.0", "1.0.0", true], + ["=1.0.0", "0.0.0", false], + ["=1.0.0", "0.0.0-0", false], + ["=1.0.0-0", "2.0.0", false], + ["=1.0.0-0", "2.0.0-0", false], + ["=1.0.0-0", "1.1.0", false], + ["=1.0.0-0", "1.1.0-0", false], + ["=1.0.0-0", "1.0.1", false], + ["=1.0.0-0", "1.0.1-0", false], + ["=1.0.0-0", "1.0.0", false], + ["=1.0.0-0", "1.0.0-0", true], + + // > wildcard major (matches nothing) + [">*", "2.0.0", false], + [">*", "2.0.0-0", false], + [">*", "1.1.0", false], + [">*", "1.1.0-0", false], + [">*", "1.0.1", false], + [">*", "1.0.1-0", false], [">*", "1.0.0", false], - [">=1", "1.0.0"], - [">=1.0", "1.0.0"], - [">=1.0.0", "1.0.0"], - [">=1.0.0", "1.0.1-pre"], - [">=*", "0.0.0"], - [">=*", "1.0.0"], - ["<2", "1.0.0"], - ["<2.1", "2.0.0"], - ["<2.0.1", "2.0.0"], - ["<2.0.0", "2.0.0-pre"], - ["<*", "0.0.0", false], + [">*", "1.0.0-0", false], + [">*", "0.0.0", false], + [">*", "0.0.0-0", false], + + // > wildcard minor + [">1", "2.0.0", true], + [">1", "2.0.0-0", true], + [">1", "1.1.0", false], + [">1", "1.1.0-0", false], + [">1", "1.0.1", false], + [">1", "1.0.1-0", false], + [">1", "1.0.0", false], + [">1", "1.0.0-0", false], + [">1", "0.0.0", false], + [">1", "0.0.0-0", false], + + // > wildcard patch + [">1.1", "2.0.0", true], + [">1.1", "2.0.0-0", true], + [">1.1", "1.1.0", false], + [">1.1", "1.1.0-0", false], + [">1.1", "1.0.1", false], + [">1.1", "1.0.1-0", false], + [">1.1", "1.0.0", false], + [">1.1", "1.0.0-0", false], + [">1.1", "0.0.0", false], + [">1.1", "0.0.0-0", false], + [">1.0", "2.0.0", true], + [">1.0", "2.0.0-0", true], + [">1.0", "1.1.0", true], + [">1.0", "1.1.0-0", true], + [">1.0", "1.0.1", false], + [">1.0", "1.0.1-0", false], + [">1.0", "1.0.0", false], + [">1.0", "1.0.0-0", false], + [">1.0", "0.0.0", false], + [">1.0", "0.0.0-0", false], + + // > exact + [">1.1.0", "2.0.0", true], + [">1.1.0", "2.0.0-0", true], + [">1.1.0", "1.1.0", false], + [">1.1.0", "1.1.0-0", false], + [">1.1.0", "1.0.1", false], + [">1.1.0", "1.0.1-0", false], + [">1.1.0", "1.0.0", false], + [">1.1.0", "1.0.0-0", false], + [">1.1.0", "0.0.0", false], + [">1.1.0", "0.0.0-0", false], + [">1.1.0-0", "2.0.0", true], + [">1.1.0-0", "2.0.0-0", true], + [">1.1.0-0", "1.1.0", true], + [">1.1.0-0", "1.1.0-0", false], + [">1.1.0-0", "1.0.1", false], + [">1.1.0-0", "1.0.1-0", false], + [">1.1.0-0", "1.0.0", false], + [">1.1.0-0", "1.0.0-0", false], + [">1.1.0-0", "0.0.0", false], + [">1.1.0-0", "0.0.0-0", false], + [">1.0.1", "2.0.0", true], + [">1.0.1", "2.0.0-0", true], + [">1.0.1", "1.1.0", true], + [">1.0.1", "1.1.0-0", true], + [">1.0.1", "1.0.1", false], + [">1.0.1", "1.0.1-0", false], + [">1.0.1", "1.0.0", false], + [">1.0.1", "1.0.0-0", false], + [">1.0.1", "0.0.0", false], + [">1.0.1", "0.0.0-0", false], + [">1.0.1-0", "2.0.0", true], + [">1.0.1-0", "2.0.0-0", true], + [">1.0.1-0", "1.1.0", true], + [">1.0.1-0", "1.1.0-0", true], + [">1.0.1-0", "1.0.1", true], + [">1.0.1-0", "1.0.1-0", false], + [">1.0.1-0", "1.0.0", false], + [">1.0.1-0", "1.0.0-0", false], + [">1.0.1-0", "0.0.0", false], + [">1.0.1-0", "0.0.0-0", false], + [">1.0.0", "2.0.0", true], + [">1.0.0", "2.0.0-0", true], + [">1.0.0", "1.1.0", true], + [">1.0.0", "1.1.0-0", true], + [">1.0.0", "1.0.1", true], + [">1.0.0", "1.0.1-0", true], + [">1.0.0", "1.0.0", false], + [">1.0.0", "1.0.0-0", false], + [">1.0.0", "0.0.0", false], + [">1.0.0", "0.0.0-0", false], + [">1.0.0-0", "2.0.0", true], + [">1.0.0-0", "2.0.0-0", true], + [">1.0.0-0", "1.1.0", true], + [">1.0.0-0", "1.1.0-0", true], + [">1.0.0-0", "1.0.1", true], + [">1.0.0-0", "1.0.1-0", true], + [">1.0.0-0", "1.0.0", true], + [">1.0.0-0", "1.0.0-0", false], + [">1.0.0-0", "0.0.0", false], + [">1.0.0-0", "0.0.0-0", false], + + // >= wildcard major (matches everything) + [">=*", "2.0.0", true], + [">=*", "2.0.0-0", true], + [">=*", "1.1.0", true], + [">=*", "1.1.0-0", true], + [">=*", "1.0.1", true], + [">=*", "1.0.1-0", true], + [">=*", "1.0.0", true], + [">=*", "1.0.0-0", true], + [">=*", "0.0.0", true], + [">=*", "0.0.0-0", true], + + // >= wildcard minor + [">=1", "2.0.0", true], + [">=1", "2.0.0-0", true], + [">=1", "1.1.0", true], + [">=1", "1.1.0-0", true], + [">=1", "1.0.1", true], + [">=1", "1.0.1-0", true], + [">=1", "1.0.0", true], + [">=1", "1.0.0-0", true], + [">=1", "0.0.0", false], + [">=1", "0.0.0-0", false], + + // >= wildcard patch + [">=1.1", "2.0.0", true], + [">=1.1", "2.0.0-0", true], + [">=1.1", "1.1.0", true], + [">=1.1", "1.1.0-0", true], + [">=1.1", "1.0.1", false], + [">=1.1", "1.0.1-0", false], + [">=1.1", "1.0.0", false], + [">=1.1", "1.0.0-0", false], + [">=1.1", "0.0.0", false], + [">=1.1", "0.0.0-0", false], + [">=1.0", "2.0.0", true], + [">=1.0", "2.0.0-0", true], + [">=1.0", "1.1.0", true], + [">=1.0", "1.1.0-0", true], + [">=1.0", "1.0.1", true], + [">=1.0", "1.0.1-0", true], + [">=1.0", "1.0.0", true], + [">=1.0", "1.0.0-0", true], + [">=1.0", "0.0.0", false], + [">=1.0", "0.0.0-0", false], + + // >= exact + [">=1.1.0", "2.0.0", true], + [">=1.1.0", "2.0.0-0", true], + [">=1.1.0", "1.1.0", true], + [">=1.1.0", "1.1.0-0", false], + [">=1.1.0", "1.0.1", false], + [">=1.1.0", "1.0.1-0", false], + [">=1.1.0", "1.0.0", false], + [">=1.1.0", "1.0.0-0", false], + [">=1.1.0", "0.0.0", false], + [">=1.1.0", "0.0.0-0", false], + [">=1.1.0-0", "2.0.0", true], + [">=1.1.0-0", "2.0.0-0", true], + [">=1.1.0-0", "1.1.0", true], + [">=1.1.0-0", "1.1.0-0", true], + [">=1.1.0-0", "1.0.1", false], + [">=1.1.0-0", "1.0.1-0", false], + [">=1.1.0-0", "1.0.0", false], + [">=1.1.0-0", "1.0.0-0", false], + [">=1.1.0-0", "0.0.0", false], + [">=1.1.0-0", "0.0.0-0", false], + [">=1.0.1", "2.0.0", true], + [">=1.0.1", "2.0.0-0", true], + [">=1.0.1", "1.1.0", true], + [">=1.0.1", "1.1.0-0", true], + [">=1.0.1", "1.0.1", true], + [">=1.0.1", "1.0.1-0", false], + [">=1.0.1", "1.0.0", false], + [">=1.0.1", "1.0.0-0", false], + [">=1.0.1", "0.0.0", false], + [">=1.0.1", "0.0.0-0", false], + [">=1.0.1-0", "2.0.0", true], + [">=1.0.1-0", "2.0.0-0", true], + [">=1.0.1-0", "1.1.0", true], + [">=1.0.1-0", "1.1.0-0", true], + [">=1.0.1-0", "1.0.1", true], + [">=1.0.1-0", "1.0.1-0", true], + [">=1.0.1-0", "1.0.0", false], + [">=1.0.1-0", "1.0.0-0", false], + [">=1.0.1-0", "0.0.0", false], + [">=1.0.1-0", "0.0.0-0", false], + [">=1.0.0", "2.0.0", true], + [">=1.0.0", "2.0.0-0", true], + [">=1.0.0", "1.1.0", true], + [">=1.0.0", "1.1.0-0", true], + [">=1.0.0", "1.0.1", true], + [">=1.0.0", "1.0.1-0", true], + [">=1.0.0", "1.0.0", true], + [">=1.0.0", "1.0.0-0", false], + [">=1.0.0", "0.0.0", false], + [">=1.0.0", "0.0.0-0", false], + [">=1.0.0-0", "2.0.0", true], + [">=1.0.0-0", "2.0.0-0", true], + [">=1.0.0-0", "1.1.0", true], + [">=1.0.0-0", "1.1.0-0", true], + [">=1.0.0-0", "1.0.1", true], + [">=1.0.0-0", "1.0.1-0", true], + [">=1.0.0-0", "1.0.0", true], + [">=1.0.0-0", "1.0.0-0", true], + [">=1.0.0-0", "0.0.0", false], + [">=1.0.0-0", "0.0.0-0", false], + + // < wildcard major (matches nothing) + ["<*", "2.0.0", false], + ["<*", "2.0.0-0", false], + ["<*", "1.1.0", false], + ["<*", "1.1.0-0", false], + ["<*", "1.0.1", false], + ["<*", "1.0.1-0", false], ["<*", "1.0.0", false], - ["<=2", "2.0.0"], - ["<=2.1", "2.1.0"], - ["<=2.0.1", "2.0.1"], - ["<=*", "0.0.0"], - ["<=*", "1.0.0"], + ["<*", "1.0.0-0", false], + ["<*", "0.0.0", false], + ["<*", "0.0.0-0", false], + + // < wildcard minor + ["<1", "2.0.0", false], + ["<1", "2.0.0-0", false], + ["<1", "1.1.0", false], + ["<1", "1.1.0-0", false], + ["<1", "1.0.1", false], + ["<1", "1.0.1-0", false], + ["<1", "1.0.0", false], + ["<1", "1.0.0-0", false], + ["<1", "0.0.0", true], + ["<1", "0.0.0-0", true], + + // < wildcard patch + ["<1.1", "2.0.0", false], + ["<1.1", "2.0.0-0", false], + ["<1.1", "1.1.0", false], + ["<1.1", "1.1.0-0", false], + ["<1.1", "1.0.1", true], + ["<1.1", "1.0.1-0", true], + ["<1.1", "1.0.0", true], + ["<1.1", "1.0.0-0", true], + ["<1.1", "0.0.0", true], + ["<1.1", "0.0.0-0", true], + ["<1.0", "2.0.0", false], + ["<1.0", "2.0.0-0", false], + ["<1.0", "1.1.0", false], + ["<1.0", "1.1.0-0", false], + ["<1.0", "1.0.1", false], + ["<1.0", "1.0.1-0", false], + ["<1.0", "1.0.0", false], + ["<1.0", "1.0.0-0", false], + ["<1.0", "0.0.0", true], + ["<1.0", "0.0.0-0", true], + + // < exact + ["<1.1.0", "2.0.0", false], + ["<1.1.0", "2.0.0-0", false], + ["<1.1.0", "1.1.0", false], + ["<1.1.0", "1.1.0-0", true], + ["<1.1.0", "1.0.1", true], + ["<1.1.0", "1.0.1-0", true], + ["<1.1.0", "1.0.0", true], + ["<1.1.0", "1.0.0-0", true], + ["<1.1.0", "0.0.0", true], + ["<1.1.0", "0.0.0-0", true], + ["<1.1.0-0", "2.0.0", false], + ["<1.1.0-0", "2.0.0-0", false], + ["<1.1.0-0", "1.1.0", false], + ["<1.1.0-0", "1.1.0-0", false], + ["<1.1.0-0", "1.0.1", true], + ["<1.1.0-0", "1.0.1-0", true], + ["<1.1.0-0", "1.0.0", true], + ["<1.1.0-0", "1.0.0-0", true], + ["<1.1.0-0", "0.0.0", true], + ["<1.1.0-0", "0.0.0-0", true], + ["<1.0.1", "2.0.0", false], + ["<1.0.1", "2.0.0-0", false], + ["<1.0.1", "1.1.0", false], + ["<1.0.1", "1.1.0-0", false], + ["<1.0.1", "1.0.1", false], + ["<1.0.1", "1.0.1-0", true], + ["<1.0.1", "1.0.0", true], + ["<1.0.1", "1.0.0-0", true], + ["<1.0.1", "0.0.0", true], + ["<1.0.1", "0.0.0-0", true], + ["<1.0.1-0", "2.0.0", false], + ["<1.0.1-0", "2.0.0-0", false], + ["<1.0.1-0", "1.1.0", false], + ["<1.0.1-0", "1.1.0-0", false], + ["<1.0.1-0", "1.0.1", false], + ["<1.0.1-0", "1.0.1-0", false], + ["<1.0.1-0", "1.0.0", true], + ["<1.0.1-0", "1.0.0-0", true], + ["<1.0.1-0", "0.0.0", true], + ["<1.0.1-0", "0.0.0-0", true], + ["<1.0.0", "2.0.0", false], + ["<1.0.0", "2.0.0-0", false], + ["<1.0.0", "1.1.0", false], + ["<1.0.0", "1.1.0-0", false], + ["<1.0.0", "1.0.1", false], + ["<1.0.0", "1.0.1-0", false], + ["<1.0.0", "1.0.0", false], + ["<1.0.0", "1.0.0-0", true], + ["<1.0.0", "0.0.0", true], + ["<1.0.0", "0.0.0-0", true], + ["<1.0.0-0", "2.0.0", false], + ["<1.0.0-0", "2.0.0-0", false], + ["<1.0.0-0", "1.1.0", false], + ["<1.0.0-0", "1.1.0-0", false], + ["<1.0.0-0", "1.0.1", false], + ["<1.0.0-0", "1.0.1-0", false], + ["<1.0.0-0", "1.0.0", false], + ["<1.0.0-0", "1.0.0-0", false], + ["<1.0.0-0", "0.0.0", true], + ["<1.0.0-0", "0.0.0-0", true], + + // <= wildcard major (matches everything) + ["<=*", "2.0.0", true], + ["<=*", "2.0.0-0", true], + ["<=*", "1.1.0", true], + ["<=*", "1.1.0-0", true], + ["<=*", "1.0.1", true], + ["<=*", "1.0.1-0", true], + ["<=*", "1.0.0", true], + ["<=*", "1.0.0-0", true], + ["<=*", "0.0.0", true], + ["<=*", "0.0.0-0", true], + + // <= wildcard minor + ["<=1", "2.0.0", false], + ["<=1", "2.0.0-0", false], + ["<=1", "1.1.0", true], + ["<=1", "1.1.0-0", true], + ["<=1", "1.0.1", true], + ["<=1", "1.0.1-0", true], + ["<=1", "1.0.0", true], + ["<=1", "1.0.0-0", true], + ["<=1", "0.0.0", true], + ["<=1", "0.0.0-0", true], + + // <= wildcard patch + ["<=1.1", "2.0.0", false], + ["<=1.1", "2.0.0-0", false], + ["<=1.1", "1.1.0", true], + ["<=1.1", "1.1.0-0", true], + ["<=1.1", "1.0.1", true], + ["<=1.1", "1.0.1-0", true], + ["<=1.1", "1.0.0", true], + ["<=1.1", "1.0.0-0", true], + ["<=1.1", "0.0.0", true], + ["<=1.1", "0.0.0-0", true], + ["<=1.0", "2.0.0", false], + ["<=1.0", "2.0.0-0", false], + ["<=1.0", "1.1.0", false], + ["<=1.0", "1.1.0-0", false], + ["<=1.0", "1.0.1", true], + ["<=1.0", "1.0.1-0", true], + ["<=1.0", "1.0.0", true], + ["<=1.0", "1.0.0-0", true], + ["<=1.0", "0.0.0", true], + ["<=1.0", "0.0.0-0", true], + + // <= exact + ["<=1.1.0", "2.0.0", false], + ["<=1.1.0", "2.0.0-0", false], + ["<=1.1.0", "1.1.0", true], + ["<=1.1.0", "1.1.0-0", true], + ["<=1.1.0", "1.0.1", true], + ["<=1.1.0", "1.0.1-0", true], + ["<=1.1.0", "1.0.0", true], + ["<=1.1.0", "1.0.0-0", true], + ["<=1.1.0", "0.0.0", true], + ["<=1.1.0", "0.0.0-0", true], + ["<=1.1.0-0", "2.0.0", false], + ["<=1.1.0-0", "2.0.0-0", false], + ["<=1.1.0-0", "1.1.0", false], + ["<=1.1.0-0", "1.1.0-0", true], + ["<=1.1.0-0", "1.0.1", true], + ["<=1.1.0-0", "1.0.1-0", true], + ["<=1.1.0-0", "1.0.0", true], + ["<=1.1.0-0", "1.0.0-0", true], + ["<=1.1.0-0", "0.0.0", true], + ["<=1.1.0-0", "0.0.0-0", true], + ["<=1.0.1", "2.0.0", false], + ["<=1.0.1", "2.0.0-0", false], + ["<=1.0.1", "1.1.0", false], + ["<=1.0.1", "1.1.0-0", false], + ["<=1.0.1", "1.0.1", true], + ["<=1.0.1", "1.0.1-0", true], + ["<=1.0.1", "1.0.0", true], + ["<=1.0.1", "1.0.0-0", true], + ["<=1.0.1", "0.0.0", true], + ["<=1.0.1", "0.0.0-0", true], + ["<=1.0.1-0", "2.0.0", false], + ["<=1.0.1-0", "2.0.0-0", false], + ["<=1.0.1-0", "1.1.0", false], + ["<=1.0.1-0", "1.1.0-0", false], + ["<=1.0.1-0", "1.0.1", false], + ["<=1.0.1-0", "1.0.1-0", true], + ["<=1.0.1-0", "1.0.0", true], + ["<=1.0.1-0", "1.0.0-0", true], + ["<=1.0.1-0", "0.0.0", true], + ["<=1.0.1-0", "0.0.0-0", true], + ["<=1.0.0", "2.0.0", false], + ["<=1.0.0", "2.0.0-0", false], + ["<=1.0.0", "1.1.0", false], + ["<=1.0.0", "1.1.0-0", false], + ["<=1.0.0", "1.0.1", false], + ["<=1.0.0", "1.0.1-0", false], + ["<=1.0.0", "1.0.0", true], + ["<=1.0.0", "1.0.0-0", true], + ["<=1.0.0", "0.0.0", true], + ["<=1.0.0", "0.0.0-0", true], + ["<=1.0.0-0", "2.0.0", false], + ["<=1.0.0-0", "2.0.0-0", false], + ["<=1.0.0-0", "1.1.0", false], + ["<=1.0.0-0", "1.1.0-0", false], + ["<=1.0.0-0", "1.0.1", false], + ["<=1.0.0-0", "1.0.1-0", false], + ["<=1.0.0-0", "1.0.0", false], + ["<=1.0.0-0", "1.0.0-0", true], + ["<=1.0.0-0", "0.0.0", true], + ["<=1.0.0-0", "0.0.0-0", true], + + // https://github.com/microsoft/TypeScript/issues/50909 + [">4.8", "4.9.0-beta", true], + [">=4.9", "4.9.0-beta", true], + ["<4.9", "4.9.0-beta", false], + ["<=4.8", "4.9.0-beta", false], ]); theory("conjunctions", assertRange, [ - [">1.0.0 <2.0.0", "1.0.1"], + [">1.0.0 <2.0.0", "1.0.1", true], [">1.0.0 <2.0.0", "2.0.0", false], [">1.0.0 <2.0.0", "1.0.0", false], - [">1 >2", "3.0.0"], + [">1 >2", "3.0.0", true], ]); theory("disjunctions", assertRange, [ - [">=1.0.0 <2.0.0 || >=3.0.0 <4.0.0", "1.0.0"], + [">=1.0.0 <2.0.0 || >=3.0.0 <4.0.0", "1.0.0", true], [">=1.0.0 <2.0.0 || >=3.0.0 <4.0.0", "2.0.0", false], - [">=1.0.0 <2.0.0 || >=3.0.0 <4.0.0", "3.0.0"], + [">=1.0.0 <2.0.0 || >=3.0.0 <4.0.0", "3.0.0", true], ]); theory("hyphen", assertRange, [ - ["1.0.0 - 2.0.0", "1.0.0"], - ["1.0.0 - 2.0.0", "2.0.0"], + ["1.0.0 - 2.0.0", "1.0.0", true], + ["1.0.0 - 2.0.0", "2.0.0", true], ["1.0.0 - 2.0.0", "3.0.0", false], ]); theory("tilde", assertRange, [ - ["~0", "0.0.0"], - ["~0", "0.1.0"], - ["~0", "0.1.2"], - ["~0", "0.1.9"], + ["~0", "0.0.0", true], + ["~0", "0.1.0", true], + ["~0", "0.1.2", true], + ["~0", "0.1.9", true], ["~0", "1.0.0", false], - ["~0.1", "0.1.0"], - ["~0.1", "0.1.2"], - ["~0.1", "0.1.9"], + ["~0.1", "0.1.0", true], + ["~0.1", "0.1.2", true], + ["~0.1", "0.1.9", true], ["~0.1", "0.2.0", false], - ["~0.1.2", "0.1.2"], - ["~0.1.2", "0.1.9"], + ["~0.1.2", "0.1.2", true], + ["~0.1.2", "0.1.9", true], ["~0.1.2", "0.2.0", false], - ["~1", "1.0.0"], - ["~1", "1.2.0"], - ["~1", "1.2.3"], - ["~1", "1.2.0"], - ["~1", "1.2.3"], + ["~1", "1.0.0", true], + ["~1", "1.2.0", true], + ["~1", "1.2.3", true], + ["~1", "1.2.0", true], + ["~1", "1.2.3", true], ["~1", "0.0.0", false], ["~1", "2.0.0", false], - ["~1.2", "1.2.0"], - ["~1.2", "1.2.3"], + ["~1.2", "1.2.0", true], + ["~1.2", "1.2.3", true], ["~1.2", "1.1.0", false], ["~1.2", "1.3.0", false], - ["~1.2.3", "1.2.3"], - ["~1.2.3", "1.2.9"], + ["~1.2.3", "1.2.3", true], + ["~1.2.3", "1.2.9", true], ["~1.2.3", "1.1.0", false], ["~1.2.3", "1.3.0", false], ]); theory("caret", assertRange, [ - ["^0", "0.0.0"], - ["^0", "0.1.0"], - ["^0", "0.9.0"], - ["^0", "0.1.2"], - ["^0", "0.1.9"], + ["^0", "0.0.0", true], + ["^0", "0.1.0", true], + ["^0", "0.9.0", true], + ["^0", "0.1.2", true], + ["^0", "0.1.9", true], ["^0", "1.0.0", false], - ["^0.1", "0.1.0"], - ["^0.1", "0.1.2"], - ["^0.1", "0.1.9"], - ["^0.1.2", "0.1.2"], - ["^0.1.2", "0.1.9"], + ["^0.1", "0.1.0", true], + ["^0.1", "0.1.2", true], + ["^0.1", "0.1.9", true], + ["^0.1.2", "0.1.2", true], + ["^0.1.2", "0.1.9", true], ["^0.1.2", "0.0.0", false], ["^0.1.2", "0.2.0", false], ["^0.1.2", "1.0.0", false], - ["^1", "1.0.0"], - ["^1", "1.2.0"], - ["^1", "1.2.3"], - ["^1", "1.9.0"], + ["^1", "1.0.0", true], + ["^1", "1.2.0", true], + ["^1", "1.2.3", true], + ["^1", "1.9.0", true], ["^1", "0.0.0", false], ["^1", "2.0.0", false], - ["^1.2", "1.2.0"], - ["^1.2", "1.2.3"], - ["^1.2", "1.9.0"], + ["^1.2", "1.2.0", true], + ["^1.2", "1.2.3", true], + ["^1.2", "1.9.0", true], ["^1.2", "1.1.0", false], ["^1.2", "2.0.0", false], - ["^1.2.3", "1.2.3"], - ["^1.2.3", "1.9.0"], + ["^1.2.3", "1.2.3", true], + ["^1.2.3", "1.9.0", true], ["^1.2.3", "1.2.2", false], ["^1.2.3", "2.0.0", false], ]); diff --git a/src/testRunner/unittests/services/preProcessFile.ts b/src/testRunner/unittests/services/preProcessFile.ts index a6369d6e4d4cf..a0ff91a26b1b4 100644 --- a/src/testRunner/unittests/services/preProcessFile.ts +++ b/src/testRunner/unittests/services/preProcessFile.ts @@ -205,6 +205,22 @@ describe("unittests:: services:: PreProcessFile:", () => { /* eslint-enable no-template-curly-in-string */ }); + it("Ignores imports in template strings", () => { + /* eslint-disable no-template-curly-in-string */ + test("a ? `&${a}` : `#${b}`;\n\n `import(\"${moduleSpecifier}\").${id}`;", + /*readImportFile*/ true, + /*detectJavaScriptImports*/ true, + { + referencedFiles: [], + typeReferenceDirectives: [], + libReferenceDirectives: [], + importedFiles: [], + ambientExternalModules: undefined, + isLibFile: false + }); + /* eslint-enable no-template-curly-in-string */ + }); + it("Correctly returns imports after a template expression", () => { /* eslint-disable no-template-curly-in-string */ test("`${foo}`; import \"./foo\";", diff --git a/src/testRunner/unittests/tsbuild/helpers.ts b/src/testRunner/unittests/tsbuild/helpers.ts index f5ad6421362c8..b3fdbf5089894 100644 --- a/src/testRunner/unittests/tsbuild/helpers.ts +++ b/src/testRunner/unittests/tsbuild/helpers.ts @@ -198,7 +198,7 @@ interface Symbol { } type ReadableProgramBuildInfoDiagnostic = string | [string, readonly ReusableDiagnostic[]]; - type ReadableProgramBuilderInfoFilePendingEmit = [string, "DtsOnly" | "Full"]; + type ReadableProgramBuilderInfoFilePendingEmit = [original: string | [string], emitKind: "DtsOnly" | "Full"]; type ReadableProgramBuildInfoEmitSignature = string | [string, string]; type ReadableProgramBuildInfoFileInfo = Omit & { impliedFormat: string | undefined; }; type ReadableProgramMultiFileEmitBuildInfo = Omit [ - toFileName(fileId), - emitKind === BuilderFileEmit.DtsOnly ? "DtsOnly" : - emitKind === BuilderFileEmit.Full ? "Full" : - Debug.assertNever(emitKind) - ]), + affectedFilesPendingEmit: buildInfo.program.affectedFilesPendingEmit?.map(toReadableProgramBuilderInfoFilePendingEmit), changeFileSet: buildInfo.program.changeFileSet?.map(toFileName), emitSignatures: buildInfo.program.emitSignatures?.map(s => isNumber(s) ? @@ -316,6 +311,16 @@ interface Symbol { } return result; } + + function toReadableProgramBuilderInfoFilePendingEmit(value: ProgramBuilderInfoFilePendingEmit): ReadableProgramBuilderInfoFilePendingEmit { + const emitKind = toBuilderFileEmit(value); + return [ + isNumber(value) ? toFileName(value) : [toFileName(value[0])], + emitKind === BuilderFileEmit.DtsOnly ? "DtsOnly" : + emitKind === BuilderFileEmit.Full ? "Full" : + Debug.assertNever(emitKind), + ]; + } } export function toPathWithSystem(sys: System, fileName: string): Path { @@ -438,8 +443,13 @@ interface Symbol { ); } let expectedIndex = 0; - incrementalReadableBuildInfo.program.affectedFilesPendingEmit.forEach(([actualFile]) => { - expectedIndex = findIndex((cleanReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).affectedFilesPendingEmit, ([expectedFile]) => actualFile === expectedFile, expectedIndex); + incrementalReadableBuildInfo.program.affectedFilesPendingEmit.forEach(([actualFileOrArray]) => { + const actualFile = isString(actualFileOrArray) ? actualFileOrArray : actualFileOrArray[0]; + expectedIndex = findIndex( + (cleanReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).affectedFilesPendingEmit, + ([expectedFileOrArray]) => actualFile === (isString(expectedFileOrArray) ? expectedFileOrArray : expectedFileOrArray[0]), + expectedIndex + ); if (expectedIndex === -1) { addBaseline( `Incremental build contains ${actualFile} file as pending emit, clean build does not have it: ${outputFile}::`, diff --git a/src/testRunner/unittests/tsc/composite.ts b/src/testRunner/unittests/tsc/composite.ts index 8eb0ea3bd8595..48a5464d59e6a 100644 --- a/src/testRunner/unittests/tsc/composite.ts +++ b/src/testRunner/unittests/tsc/composite.ts @@ -81,5 +81,26 @@ namespace ts { }), commandLineArgs: ["--composite", "false", "--p", "src/project", "--tsBuildInfoFile", "null"], }); + + verifyTscWithEdits({ + scenario: "composite", + subScenario: "converting to modules", + fs: () => loadProjectFromFiles({ + "/src/project/src/main.ts": "const x = 10;", + "/src/project/tsconfig.json": JSON.stringify({ + compilerOptions: { + module: "none", + composite: true, + }, + }), + }), + commandLineArgs: ["-p", "/src/project"], + edits: [ + { + subScenario: "convert to modules", + modifyFs: fs => replaceText(fs, "/src/project/tsconfig.json", "none", "es2015"), + } + ] + }); }); } diff --git a/src/testRunner/unittests/tsc/helpers.ts b/src/testRunner/unittests/tsc/helpers.ts index 81d22823e0b01..16e91db13425b 100644 --- a/src/testRunner/unittests/tsc/helpers.ts +++ b/src/testRunner/unittests/tsc/helpers.ts @@ -6,6 +6,10 @@ namespace ts { storeFilesChangingSignatureDuringEmit?: boolean; }; + export function compilerOptionsToConfigJson(options: CompilerOptions) { + return optionMapToObject(serializeCompilerOptions(options)); + } + export const noChangeRun: TestTscEdit = { subScenario: "no-change-run", modifyFs: noop diff --git a/src/testRunner/unittests/tsc/listFilesOnly.ts b/src/testRunner/unittests/tsc/listFilesOnly.ts index 97c9bd7d5e43c..7352e57b7c5ce 100644 --- a/src/testRunner/unittests/tsc/listFilesOnly.ts +++ b/src/testRunner/unittests/tsc/listFilesOnly.ts @@ -19,5 +19,26 @@ namespace ts { }), commandLineArgs: ["/src/test.ts", "--listFilesOnly"] }); + + verifyTscWithEdits({ + scenario: "listFilesOnly", + subScenario: "combined with incremental", + fs: () => loadProjectFromFiles({ + "/src/test.ts": `export const x = 1;`, + "/src/tsconfig.json": "{}" + }), + commandLineArgs: ["-p", "/src", "--incremental", "--listFilesOnly"], + edits: [ + { + ...noChangeRun, + commandLineArgs: ["-p", "/src", "--incremental"], + }, + noChangeRun, + { + ...noChangeRun, + commandLineArgs: ["-p", "/src", "--incremental"], + } + ] + }); }); } diff --git a/src/testRunner/unittests/tscWatch/programUpdates.ts b/src/testRunner/unittests/tscWatch/programUpdates.ts index a17f857024f11..c71b22c270922 100644 --- a/src/testRunner/unittests/tscWatch/programUpdates.ts +++ b/src/testRunner/unittests/tscWatch/programUpdates.ts @@ -1164,7 +1164,9 @@ declare const eval: any` }; const tsconfig: File = { path: `${projectRoot}/tsconfig.json`, - content: generateTSConfig(options, emptyArray, "\n") + content: JSON.stringify({ + compilerOptions: compilerOptionsToConfigJson(options) + }) }; return createWatchedSystem([file1, file2, libFile, tsconfig], { currentDirectory: projectRoot }); }, diff --git a/src/testRunner/unittests/tscWatch/watchEnvironment.ts b/src/testRunner/unittests/tscWatch/watchEnvironment.ts index 95cacc1e7d088..45dd1ff714391 100644 --- a/src/testRunner/unittests/tscWatch/watchEnvironment.ts +++ b/src/testRunner/unittests/tscWatch/watchEnvironment.ts @@ -120,36 +120,6 @@ namespace ts.tscWatch { ] }); - verifyTscWatch({ - scenario, - subScenario: "watchFile/setting default as fixed chunk size watch file works", - commandLineArgs: ["-w", "-p", "/a/b/tsconfig.json"], - sys: () => { - const configFile: File = { - path: "/a/b/tsconfig.json", - content: "{}" - }; - const files = [libFile, commonFile1, commonFile2, configFile]; - const sys = createWatchedSystem(files); - sys.defaultWatchFileKind = () => WatchFileKind.FixedChunkSizePolling; - return sys; - }, - changes: [ - { - caption: "Make change to file but should detect as changed and schedule program update", - // Make a change to file - change: sys => sys.writeFile(commonFile1.path, "var zz30 = 100;"), - timeouts: checkSingleTimeoutQueueLengthAndRun, - }, - { - caption: "Callbacks: queue and scheduled program update", - change: noop, - // Callbacks: scheduled program update and queue for the polling - timeouts: sys => sys.checkTimeoutQueueLengthAndRun(2), - }, - ] - }); - describe("tsc-watch when watchDirectories implementation", () => { function verifyRenamingFileInSubFolder(subScenario: string, tscWatchDirectory: Tsc_WatchDirectory) { const projectFolder = "/a/username/project"; diff --git a/src/testRunner/unittests/tsserver/configuredProjects.ts b/src/testRunner/unittests/tsserver/configuredProjects.ts index 3524e69206dfc..efe430930b19b 100644 --- a/src/testRunner/unittests/tsserver/configuredProjects.ts +++ b/src/testRunner/unittests/tsserver/configuredProjects.ts @@ -577,7 +577,7 @@ namespace ts.projectSystem { content: "let zz = 1;" }; host.writeFile(file5.path, file5.content); - projectService.baselineHost("File5 written"); + projectService.testhost.baselineHost("File5 written"); projectService.openClientFile(file5.path); baselineTsserverLogs("configuredProjects", "Open ref of configured project when open file gets added to the project as part of configured file update", projectService); diff --git a/src/testRunner/unittests/tsserver/getFileReferences.ts b/src/testRunner/unittests/tsserver/getFileReferences.ts index 4244671e756c4..7e1f9cc8de49a 100644 --- a/src/testRunner/unittests/tsserver/getFileReferences.ts +++ b/src/testRunner/unittests/tsserver/getFileReferences.ts @@ -54,5 +54,28 @@ namespace ts.projectSystem { assert.deepEqual(response, expectResponse); }); + + it("should skip lineText from file references", () => { + const session = makeSampleSession(); + session.getProjectService().setHostConfiguration({ preferences: { disableLineTextInReferences: true } }); + + const response = executeSessionRequest( + session, + protocol.CommandTypes.FileReferences, + { file: aTs.path }, + ); + + const expectResponse: protocol.FileReferencesResponseBody = { + refs: [ + makeReferenceItem({ file: bTs, text: "./a", lineText: undefined, contextText: importA, isWriteAccess: false }), + makeReferenceItem({ file: cTs, text: "./a", lineText: undefined, contextText: importCurlyFromA, isWriteAccess: false }), + makeReferenceItem({ file: dTs, text: "/project/a", lineText: undefined, contextText: importAFromA, isWriteAccess: false }), + makeReferenceItem({ file: dTs, text: "./a", lineText: undefined, contextText: typeofImportA, isWriteAccess: false }), + ], + symbolName: `"${aTs.path}"`, + }; + + assert.deepEqual(response, expectResponse); + }); }); } diff --git a/src/testRunner/unittests/tsserver/helpers.ts b/src/testRunner/unittests/tsserver/helpers.ts index 82b4946e42ce4..a51a558732142 100644 --- a/src/testRunner/unittests/tsserver/helpers.ts +++ b/src/testRunner/unittests/tsserver/helpers.ts @@ -343,38 +343,57 @@ namespace ts.projectSystem { } } - function patchHostTimeouts(host: TestFSWithWatch.TestServerHostTrackingWrittenFiles, session: TestSession | TestProjectService) { + export type TestSessionAndServiceHost = TestFSWithWatch.TestServerHostTrackingWrittenFiles & { + baselineHost(title: string): void; + }; + function patchHostTimeouts( + inputHost: TestFSWithWatch.TestServerHostTrackingWrittenFiles, + session: TestSession | TestProjectService + ) { + const host = inputHost as TestSessionAndServiceHost; const originalCheckTimeoutQueueLength = host.checkTimeoutQueueLength; const originalRunQueuedTimeoutCallbacks = host.runQueuedTimeoutCallbacks; const originalRunQueuedImmediateCallbacks = host.runQueuedImmediateCallbacks; + let hostDiff: ReturnType | undefined; host.checkTimeoutQueueLengthAndRun = checkTimeoutQueueLengthAndRun; host.checkTimeoutQueueLength = checkTimeoutQueueLength; host.runQueuedTimeoutCallbacks = runQueuedTimeoutCallbacks; host.runQueuedImmediateCallbacks = runQueuedImmediateCallbacks; + host.baselineHost = baselineHost; + return host; function checkTimeoutQueueLengthAndRun(expected: number) { - session.baselineHost(`Before checking timeout queue length (${expected}) and running`); + host.baselineHost(`Before checking timeout queue length (${expected}) and running`); originalCheckTimeoutQueueLength.call(host, expected); originalRunQueuedTimeoutCallbacks.call(host); - session.baselineHost(`After checking timeout queue length (${expected}) and running`); + host.baselineHost(`After checking timeout queue length (${expected}) and running`); } function checkTimeoutQueueLength(expected: number) { - session.baselineHost(`Checking timeout queue length: ${expected}`); + host.baselineHost(`Checking timeout queue length: ${expected}`); originalCheckTimeoutQueueLength.call(host, expected); } function runQueuedTimeoutCallbacks(timeoutId?: number) { - session.baselineHost(`Before running timeout callback${timeoutId === undefined ? "s" : timeoutId}`); + host.baselineHost(`Before running timeout callback${timeoutId === undefined ? "s" : timeoutId}`); originalRunQueuedTimeoutCallbacks.call(host, timeoutId); - session.baselineHost(`After running timeout callback${timeoutId === undefined ? "s" : timeoutId}`); + host.baselineHost(`After running timeout callback${timeoutId === undefined ? "s" : timeoutId}`); } function runQueuedImmediateCallbacks(checkCount?: number) { - session.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`); + host.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`); originalRunQueuedImmediateCallbacks.call(host, checkCount); - session.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`); + host.baselineHost(`Before running immediate callbacks${checkCount === undefined ? "" : ` and checking length (${checkCount})`}`); + } + + function baselineHost(title: string) { + if (!session.logger.hasLevel(server.LogLevel.verbose)) return; + session.logger.logs.push(title); + host.diff(session.logger.logs, hostDiff); + host.serializeWatches(session.logger.logs); + hostDiff = host.snap(); + host.writtenFiles.clear(); } } @@ -385,15 +404,16 @@ namespace ts.projectSystem { export class TestSession extends server.Session { private seq = 0; public events: protocol.Event[] = []; - public testhost: TestFSWithWatch.TestServerHostTrackingWrittenFiles; + public testhost: TestSessionAndServiceHost; public logger: Logger; - private hostDiff: ReturnType | undefined; constructor(opts: TestSessionOptions) { super(opts); this.logger = opts.logger; - this.testhost = TestFSWithWatch.changeToHostTrackingWrittenFiles(this.host as TestServerHost); - patchHostTimeouts(this.testhost, this); + this.testhost = patchHostTimeouts( + TestFSWithWatch.changeToHostTrackingWrittenFiles(this.host as TestServerHost), + this + ); } getProjectService() { @@ -432,19 +452,10 @@ namespace ts.projectSystem { private baseline(type: "request" | "response", requestOrResult: T): T { if (!this.logger.hasLevel(server.LogLevel.verbose)) return requestOrResult; if (type === "request") this.logger.info(`request:${server.indent(JSON.stringify(requestOrResult, undefined, 2))}`); - this.baselineHost(type === "request" ? "Before request" : "After request"); + this.testhost.baselineHost(type === "request" ? "Before request" : "After request"); if (type === "response") this.logger.info(`response:${server.indent(JSON.stringify(requestOrResult, undefined, 2))}`); return requestOrResult; } - - baselineHost(title: string) { - if (!this.logger.hasLevel(server.LogLevel.verbose)) return; - this.logger.logs.push(title); - this.testhost.diff(this.logger.logs, this.hostDiff); - this.testhost.serializeWatches(this.logger.logs); - this.hostDiff = this.testhost.snap(); - this.testhost.writtenFiles.clear(); - } } export function createSession(host: server.ServerHost, opts: Partial = {}) { @@ -511,8 +522,7 @@ namespace ts.projectSystem { } export class TestProjectService extends server.ProjectService { - public testhost: TestFSWithWatch.TestServerHostTrackingWrittenFiles; - private hostDiff: ReturnType | undefined; + public testhost: TestSessionAndServiceHost; constructor(host: TestServerHost, public logger: Logger, cancellationToken: HostCancellationToken, useSingleInferredProject: boolean, typingsInstaller: server.ITypingsInstaller, opts: Partial = {}) { super({ @@ -526,23 +536,16 @@ namespace ts.projectSystem { typesMapLocation: customTypesMap.path, ...opts }); - this.testhost = TestFSWithWatch.changeToHostTrackingWrittenFiles(this.host as TestServerHost); - patchHostTimeouts(this.testhost, this); - this.baselineHost("Creating project service"); + this.testhost = patchHostTimeouts( + TestFSWithWatch.changeToHostTrackingWrittenFiles(this.host as TestServerHost), + this + ); + this.testhost.baselineHost("Creating project service"); } checkNumberOfProjects(count: { inferredProjects?: number, configuredProjects?: number, externalProjects?: number }) { checkNumberOfProjects(this, count); } - - baselineHost(title: string) { - if (!this.logger.hasLevel(server.LogLevel.verbose)) return; - this.logger.logs.push(title); - this.testhost.diff(this.logger.logs, this.hostDiff); - this.testhost.serializeWatches(this.logger.logs); - this.hostDiff = this.testhost.snap(); - this.testhost.writtenFiles.clear(); - } } export function createProjectService(host: TestServerHost, options?: Partial) { @@ -807,7 +810,7 @@ namespace ts.projectSystem { export interface MakeReferenceItem extends DocumentSpanFromSubstring { isDefinition?: boolean; isWriteAccess?: boolean; - lineText: string; + lineText?: string; } export function makeReferenceItem({ isDefinition, isWriteAccess, lineText, ...rest }: MakeReferenceItem): protocol.ReferencesResponseItem { diff --git a/src/testRunner/unittests/tsserver/plugins.ts b/src/testRunner/unittests/tsserver/plugins.ts index 5d46dd203f9db..0db19f7478b19 100644 --- a/src/testRunner/unittests/tsserver/plugins.ts +++ b/src/testRunner/unittests/tsserver/plugins.ts @@ -100,5 +100,50 @@ namespace ts.projectSystem { }; assert.deepEqual(resp, expectedResp); }); + + it("gets external files with config file reload", () => { + const aTs: File = { path: `${tscWatch.projectRoot}/a.ts`, content: `export const x = 10;` }; + const tsconfig: File = { + path: `${tscWatch.projectRoot}/tsconfig.json`, + content: JSON.stringify({ + compilerOptions: { + plugins: [{ name: "some-plugin" }] + } + }) + }; + + const externalFiles: MapLike = { + "some-plugin": ["someFile.txt"], + "some-other-plugin": ["someOtherFile.txt"], + }; + + const host = createServerHost([aTs, tsconfig, libFile]); + host.require = (_initialPath, moduleName) => { + session.logger.logs.push(`Require:: ${moduleName}`); + return { + module: (): server.PluginModule => { + session.logger.logs.push(`PluginFactory Invoke`); + return { + create: Harness.LanguageService.makeDefaultProxy, + getExternalFiles: () => externalFiles[moduleName] + }; + }, + error: undefined + }; + }; + const session = createSession(host, { logger: createLoggerWithInMemoryLogs(host) }); + openFilesForSession([aTs], session); + session.logger.logs.push(`ExternalFiles:: ${JSON.stringify(session.getProjectService().configuredProjects.get(tsconfig.path)!.getExternalFiles())}`); + + host.writeFile(tsconfig.path, JSON.stringify({ + compilerOptions: { + plugins: [{ name: "some-other-plugin" }] + } + })); + host.runQueuedTimeoutCallbacks(); + session.logger.logs.push(`ExternalFiles:: ${JSON.stringify(session.getProjectService().configuredProjects.get(tsconfig.path)!.getExternalFiles())}`); + + baselineTsserverLogs("plugins", "gets external files with config file reload", session); + }); }); } \ No newline at end of file diff --git a/src/tsserver/nodeServer.ts b/src/tsserver/nodeServer.ts index 0bfc5f5871931..47e3ff6bfb1b7 100644 --- a/src/tsserver/nodeServer.ts +++ b/src/tsserver/nodeServer.ts @@ -783,6 +783,10 @@ namespace ts.server { process.on("message", (e: any) => { this.onMessage(e); }); + + process.on("disconnect", () => { + this.exit(); + }); } } diff --git a/tests/baselines/reference/APISample_Watch.js b/tests/baselines/reference/APISample_Watch.js index e675f2ec4eb47..5c9ad996f7f4e 100644 --- a/tests/baselines/reference/APISample_Watch.js +++ b/tests/baselines/reference/APISample_Watch.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_Watch.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_Watch.ts] diff --git a/tests/baselines/reference/APISample_WatchWithDefaults.js b/tests/baselines/reference/APISample_WatchWithDefaults.js index 63bfa4965e51e..3961a1367eae5 100644 --- a/tests/baselines/reference/APISample_WatchWithDefaults.js +++ b/tests/baselines/reference/APISample_WatchWithDefaults.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_WatchWithDefaults.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_WatchWithDefaults.ts] diff --git a/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js index 75444a614f952..56286921e77d7 100644 --- a/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js +++ b/tests/baselines/reference/APISample_WatchWithOwnWatchHost.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_WatchWithOwnWatchHost.ts] diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index b19bc06d1e63a..3dfec01fc8f4d 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_compile.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_compile.ts] diff --git a/tests/baselines/reference/APISample_jsdoc.js b/tests/baselines/reference/APISample_jsdoc.js index 50288c1237ea5..4763a59736202 100644 --- a/tests/baselines/reference/APISample_jsdoc.js +++ b/tests/baselines/reference/APISample_jsdoc.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_jsdoc.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_jsdoc.ts] diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 65e03d339e611..185a346d3abef 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_linter.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_linter.ts] @@ -68,7 +69,8 @@ fileNames.forEach(fileName => { // delint it delint(sourceFile); -}); +}); + //// [APISample_linter.js] "use strict"; diff --git a/tests/baselines/reference/APISample_parseConfig.js b/tests/baselines/reference/APISample_parseConfig.js index e9dc119417cfe..422ac5c188a55 100644 --- a/tests/baselines/reference/APISample_parseConfig.js +++ b/tests/baselines/reference/APISample_parseConfig.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_parseConfig.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_parseConfig.ts] @@ -40,7 +41,8 @@ export function createProgram(rootFiles: string[], compilerOptionsJson: string): return undefined; } return ts.createProgram(rootFiles, settings.options); -} +} + //// [APISample_parseConfig.js] "use strict"; diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index db25c1bd1dd06..12f2f4ca12b81 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_transform.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_transform.ts] @@ -20,7 +21,8 @@ const source = "let x: string = 'string'"; let result = ts.transpile(source, { module: ts.ModuleKind.CommonJS }); -console.log(JSON.stringify(result)); +console.log(JSON.stringify(result)); + //// [APISample_transform.js] "use strict"; diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index d86eb60e6777b..a66fb1cc3ffdf 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -1,8 +1,9 @@ //// [tests/cases/compiler/APISample_watcher.ts] //// -//// [index.d.ts] -declare module "typescript" { - export = ts; +//// [package.json] +{ + "name": "typescript", + "types": "/.ts/typescript.d.ts" } //// [APISample_watcher.ts] diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.symbols b/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.symbols index 4375eaa3ffbf2..84b8619920f3d 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.symbols +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.symbols @@ -1,3 +1,2 @@ === tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.types index 4375eaa3ffbf2..84b8619920f3d 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.types +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.types @@ -1,3 +1,2 @@ === tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of12.symbols b/tests/baselines/reference/ES5For-of12.symbols index 465a644f7bfd6..e35b3e24193dc 100644 --- a/tests/baselines/reference/ES5For-of12.symbols +++ b/tests/baselines/reference/ES5For-of12.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/statements/for-ofStatements/ES5For-of12.ts === + for ([""] of [[""]]) { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/InterfaceDeclaration8.types b/tests/baselines/reference/InterfaceDeclaration8.types index a9e087595653c..213c2e2f809c3 100644 --- a/tests/baselines/reference/InterfaceDeclaration8.types +++ b/tests/baselines/reference/InterfaceDeclaration8.types @@ -1,4 +1,4 @@ === tests/cases/compiler/InterfaceDeclaration8.ts === + interface string { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/Protected2.types b/tests/baselines/reference/Protected2.types index df8d6f12cac97..727db5b1be946 100644 --- a/tests/baselines/reference/Protected2.types +++ b/tests/baselines/reference/Protected2.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Protected/Protected2.ts === + protected module M { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/TypeArgumentList1.symbols b/tests/baselines/reference/TypeArgumentList1.symbols index d2803e791018d..f9976273ddccf 100644 --- a/tests/baselines/reference/TypeArgumentList1.symbols +++ b/tests/baselines/reference/TypeArgumentList1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/TypeArgumentLists/TypeArgumentList1.ts === + Foo(4, 5, 6); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/VariableDeclaration11_es6.symbols b/tests/baselines/reference/VariableDeclaration11_es6.symbols index feaeb047073b0..d4116fb8da4f6 100644 --- a/tests/baselines/reference/VariableDeclaration11_es6.symbols +++ b/tests/baselines/reference/VariableDeclaration11_es6.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration11_es6.ts === + "use strict"; -No type information for this code.let -No type information for this code. \ No newline at end of file +let diff --git a/tests/baselines/reference/VariableDeclaration1_es6.symbols b/tests/baselines/reference/VariableDeclaration1_es6.symbols index 183f9495caa6e..c556858159731 100644 --- a/tests/baselines/reference/VariableDeclaration1_es6.symbols +++ b/tests/baselines/reference/VariableDeclaration1_es6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration1_es6.ts === + const -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/VariableDeclaration1_es6.types b/tests/baselines/reference/VariableDeclaration1_es6.types index 183f9495caa6e..c556858159731 100644 --- a/tests/baselines/reference/VariableDeclaration1_es6.types +++ b/tests/baselines/reference/VariableDeclaration1_es6.types @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration1_es6.ts === + const -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/VariableDeclaration6_es6.symbols b/tests/baselines/reference/VariableDeclaration6_es6.symbols index 8d18e77c1a3a2..38718bf93acfe 100644 --- a/tests/baselines/reference/VariableDeclaration6_es6.symbols +++ b/tests/baselines/reference/VariableDeclaration6_es6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/variableDeclarations/VariableDeclaration6_es6.ts === + let -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/YieldExpression18_es6.symbols b/tests/baselines/reference/YieldExpression18_es6.symbols index 34772327eae24..77aeecec7181d 100644 --- a/tests/baselines/reference/YieldExpression18_es6.symbols +++ b/tests/baselines/reference/YieldExpression18_es6.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression18_es6.ts === + "use strict"; -No type information for this code.yield(foo); -No type information for this code. \ No newline at end of file +yield(foo); diff --git a/tests/baselines/reference/YieldExpression1_es6.symbols b/tests/baselines/reference/YieldExpression1_es6.symbols index 9ca9f6cc899d0..dbbcab643bdac 100644 --- a/tests/baselines/reference/YieldExpression1_es6.symbols +++ b/tests/baselines/reference/YieldExpression1_es6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression1_es6.ts === + yield; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/YieldExpression2_es6.symbols b/tests/baselines/reference/YieldExpression2_es6.symbols index 99510808bd776..1b0a184455c54 100644 --- a/tests/baselines/reference/YieldExpression2_es6.symbols +++ b/tests/baselines/reference/YieldExpression2_es6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression2_es6.ts === + yield foo; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/YieldStarExpression1_es6.symbols b/tests/baselines/reference/YieldStarExpression1_es6.symbols index c01128e880c2b..4fd0a7b256430 100644 --- a/tests/baselines/reference/YieldStarExpression1_es6.symbols +++ b/tests/baselines/reference/YieldStarExpression1_es6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/yieldExpressions/YieldStarExpression1_es6.ts === + yield * []; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/YieldStarExpression2_es6.symbols b/tests/baselines/reference/YieldStarExpression2_es6.symbols index 758acfdfece5a..06aea6e917832 100644 --- a/tests/baselines/reference/YieldStarExpression2_es6.symbols +++ b/tests/baselines/reference/YieldStarExpression2_es6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts === + yield *; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/allowImportClausesToMergeWithTypes.errors.txt b/tests/baselines/reference/allowImportClausesToMergeWithTypes.errors.txt index 63cb28ea7d626..864ac1e6335bc 100644 --- a/tests/baselines/reference/allowImportClausesToMergeWithTypes.errors.txt +++ b/tests/baselines/reference/allowImportClausesToMergeWithTypes.errors.txt @@ -1,4 +1,3 @@ -tests/cases/compiler/index.ts(4,1): error TS2693: 'zzz' only refers to a type, but is being used as a value here. tests/cases/compiler/index.ts(9,10): error TS2749: 'originalZZZ' refers to a value, but is being used as a type here. Did you mean 'typeof originalZZZ'? @@ -18,13 +17,11 @@ tests/cases/compiler/index.ts(9,10): error TS2749: 'originalZZZ' refers to a val export { zzz as default }; -==== tests/cases/compiler/index.ts (2 errors) ==== +==== tests/cases/compiler/index.ts (1 errors) ==== import zzz from "./a"; const x: zzz = { x: "" }; zzz; - ~~~ -!!! error TS2693: 'zzz' only refers to a type, but is being used as a value here. import originalZZZ from "./b"; originalZZZ; diff --git a/tests/baselines/reference/allowImportClausesToMergeWithTypes.js b/tests/baselines/reference/allowImportClausesToMergeWithTypes.js index 8c171dbfceae3..fa9e5407b7884 100644 --- a/tests/baselines/reference/allowImportClausesToMergeWithTypes.js +++ b/tests/baselines/reference/allowImportClausesToMergeWithTypes.js @@ -44,6 +44,7 @@ b_1["default"]; //// [index.js] "use strict"; exports.__esModule = true; +var a_1 = require("./a"); var x = { x: "" }; a_1["default"]; var b_1 = require("./b"); diff --git a/tests/baselines/reference/allowImportClausesToMergeWithTypes.symbols b/tests/baselines/reference/allowImportClausesToMergeWithTypes.symbols index 769ec5574c18e..af6bdfccb99cb 100644 --- a/tests/baselines/reference/allowImportClausesToMergeWithTypes.symbols +++ b/tests/baselines/reference/allowImportClausesToMergeWithTypes.symbols @@ -38,6 +38,7 @@ const x: zzz = { x: "" }; >x : Symbol(x, Decl(index.ts, 2, 16)) zzz; +>zzz : Symbol(zzz, Decl(index.ts, 0, 6)) import originalZZZ from "./b"; >originalZZZ : Symbol(originalZZZ, Decl(index.ts, 5, 6)) diff --git a/tests/baselines/reference/allowImportClausesToMergeWithTypes.types b/tests/baselines/reference/allowImportClausesToMergeWithTypes.types index e153d2fa23302..1848fcb9fe52b 100644 --- a/tests/baselines/reference/allowImportClausesToMergeWithTypes.types +++ b/tests/baselines/reference/allowImportClausesToMergeWithTypes.types @@ -30,7 +30,7 @@ export { zzz as default }; === tests/cases/compiler/index.ts === import zzz from "./a"; ->zzz : any +>zzz : 123 const x: zzz = { x: "" }; >x : zzz @@ -39,7 +39,7 @@ const x: zzz = { x: "" }; >"" : "" zzz; ->zzz : any +>zzz : 123 import originalZZZ from "./b"; >originalZZZ : 123 diff --git a/tests/baselines/reference/ambientExportDefaultErrors.symbols b/tests/baselines/reference/ambientExportDefaultErrors.symbols index b3e6b79cd3eda..dec36cea65fd7 100644 --- a/tests/baselines/reference/ambientExportDefaultErrors.symbols +++ b/tests/baselines/reference/ambientExportDefaultErrors.symbols @@ -1,11 +1,12 @@ === tests/cases/compiler/consumer.ts === + /// -No type information for this code./// -No type information for this code.import "indirect"; -No type information for this code.import "foo"; -No type information for this code.import "indirect2"; -No type information for this code.import "foo2"; -No type information for this code.=== tests/cases/compiler/foo.d.ts === +/// +import "indirect"; +import "foo"; +import "indirect2"; +import "foo2"; +=== tests/cases/compiler/foo.d.ts === export default 2 + 2; export as namespace Foo; >Foo : Symbol(Foo, Decl(foo.d.ts, 0, 21)) diff --git a/tests/baselines/reference/ambientExportDefaultErrors.types b/tests/baselines/reference/ambientExportDefaultErrors.types index 21e18cc978aec..c779d47eadb88 100644 --- a/tests/baselines/reference/ambientExportDefaultErrors.types +++ b/tests/baselines/reference/ambientExportDefaultErrors.types @@ -1,11 +1,12 @@ === tests/cases/compiler/consumer.ts === + /// -No type information for this code./// -No type information for this code.import "indirect"; -No type information for this code.import "foo"; -No type information for this code.import "indirect2"; -No type information for this code.import "foo2"; -No type information for this code.=== tests/cases/compiler/foo.d.ts === +/// +import "indirect"; +import "foo"; +import "indirect2"; +import "foo2"; +=== tests/cases/compiler/foo.d.ts === export default 2 + 2; >2 + 2 : number >2 : 2 diff --git a/tests/baselines/reference/ambientShorthand_reExport.symbols b/tests/baselines/reference/ambientShorthand_reExport.symbols index 3aa3ddcec3d48..992dc6af17190 100644 --- a/tests/baselines/reference/ambientShorthand_reExport.symbols +++ b/tests/baselines/reference/ambientShorthand_reExport.symbols @@ -7,9 +7,10 @@ export {x} from "jquery"; >x : Symbol(x, Decl(reExportX.ts, 0, 8)) === tests/cases/conformance/ambient/reExportAll.ts === + export * from "jquery"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/ambient/reExportUser.ts === + +=== tests/cases/conformance/ambient/reExportUser.ts === import {x} from "./reExportX"; >x : Symbol(x, Decl(reExportUser.ts, 0, 8)) diff --git a/tests/baselines/reference/ambientShorthand_reExport.types b/tests/baselines/reference/ambientShorthand_reExport.types index e3e6c9742fdc4..743552275ef24 100644 --- a/tests/baselines/reference/ambientShorthand_reExport.types +++ b/tests/baselines/reference/ambientShorthand_reExport.types @@ -7,9 +7,10 @@ export {x} from "jquery"; >x : any === tests/cases/conformance/ambient/reExportAll.ts === + export * from "jquery"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/ambient/reExportUser.ts === + +=== tests/cases/conformance/ambient/reExportUser.ts === import {x} from "./reExportX"; >x : any diff --git a/tests/baselines/reference/anonymousDefaultExportsAmd.symbols b/tests/baselines/reference/anonymousDefaultExportsAmd.symbols index b7778168f3332..57117df986e64 100644 --- a/tests/baselines/reference/anonymousDefaultExportsAmd.symbols +++ b/tests/baselines/reference/anonymousDefaultExportsAmd.symbols @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsAmd/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsAmd/b.ts === + +=== tests/cases/conformance/es6/moduleExportsAmd/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsAmd.types b/tests/baselines/reference/anonymousDefaultExportsAmd.types index b7778168f3332..57117df986e64 100644 --- a/tests/baselines/reference/anonymousDefaultExportsAmd.types +++ b/tests/baselines/reference/anonymousDefaultExportsAmd.types @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsAmd/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsAmd/b.ts === + +=== tests/cases/conformance/es6/moduleExportsAmd/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsCommonjs.symbols b/tests/baselines/reference/anonymousDefaultExportsCommonjs.symbols index e74f41088d78d..1263951a0a261 100644 --- a/tests/baselines/reference/anonymousDefaultExportsCommonjs.symbols +++ b/tests/baselines/reference/anonymousDefaultExportsCommonjs.symbols @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsCommonjs/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsCommonjs/b.ts === + +=== tests/cases/conformance/es6/moduleExportsCommonjs/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsCommonjs.types b/tests/baselines/reference/anonymousDefaultExportsCommonjs.types index e74f41088d78d..1263951a0a261 100644 --- a/tests/baselines/reference/anonymousDefaultExportsCommonjs.types +++ b/tests/baselines/reference/anonymousDefaultExportsCommonjs.types @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsCommonjs/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsCommonjs/b.ts === + +=== tests/cases/conformance/es6/moduleExportsCommonjs/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsSystem.symbols b/tests/baselines/reference/anonymousDefaultExportsSystem.symbols index a865de3bb9135..16e79f7bf4d95 100644 --- a/tests/baselines/reference/anonymousDefaultExportsSystem.symbols +++ b/tests/baselines/reference/anonymousDefaultExportsSystem.symbols @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsSystem/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsSystem/b.ts === + +=== tests/cases/conformance/es6/moduleExportsSystem/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsSystem.types b/tests/baselines/reference/anonymousDefaultExportsSystem.types index a865de3bb9135..16e79f7bf4d95 100644 --- a/tests/baselines/reference/anonymousDefaultExportsSystem.types +++ b/tests/baselines/reference/anonymousDefaultExportsSystem.types @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsSystem/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsSystem/b.ts === + +=== tests/cases/conformance/es6/moduleExportsSystem/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsUmd.symbols b/tests/baselines/reference/anonymousDefaultExportsUmd.symbols index 6bc9e18ed5619..73f8025c8a5f8 100644 --- a/tests/baselines/reference/anonymousDefaultExportsUmd.symbols +++ b/tests/baselines/reference/anonymousDefaultExportsUmd.symbols @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsUmd/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsUmd/b.ts === + +=== tests/cases/conformance/es6/moduleExportsUmd/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/anonymousDefaultExportsUmd.types b/tests/baselines/reference/anonymousDefaultExportsUmd.types index 6bc9e18ed5619..73f8025c8a5f8 100644 --- a/tests/baselines/reference/anonymousDefaultExportsUmd.types +++ b/tests/baselines/reference/anonymousDefaultExportsUmd.types @@ -1,6 +1,7 @@ === tests/cases/conformance/es6/moduleExportsUmd/a.ts === + export default class {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/moduleExportsUmd/b.ts === + +=== tests/cases/conformance/es6/moduleExportsUmd/b.ts === + export default function() {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index 575116ceed587..90dd9ed780fd0 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -5399,9 +5399,9 @@ declare namespace ts { /** If provided, called with Diagnostic message that informs about change in watch status */ onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number): void; /** Used to watch changes in source files, missing files needed to update the program or config file */ - watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: CompilerOptions): FileWatcher; + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ - watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: CompilerOptions): FileWatcher; + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher; /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; /** If provided, will be used to reset existing delayed compilation */ @@ -6032,8 +6032,15 @@ declare namespace ts { type: "file"; fileName: string; } + enum OrganizeImportsMode { + All = "All", + SortAndCombine = "SortAndCombine", + RemoveUnused = "RemoveUnused" + } interface OrganizeImportsArgs extends CombinedCodeFixScope { + /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; + mode?: OrganizeImportsMode; } type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#" | " "; enum CompletionTriggerKind { @@ -7616,9 +7623,16 @@ declare namespace ts.server.protocol { arguments: OrganizeImportsRequestArgs; } type OrganizeImportsScope = GetCombinedCodeFixScope; + enum OrganizeImportsMode { + All = "All", + SortAndCombine = "SortAndCombine", + RemoveUnused = "RemoveUnused" + } interface OrganizeImportsRequestArgs { scope: OrganizeImportsScope; + /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; + mode?: OrganizeImportsMode; } interface OrganizeImportsResponse extends Response { body: readonly FileCodeEdits[]; @@ -7968,12 +7982,14 @@ declare namespace ts.server.protocol { command: CommandTypes.References; } interface ReferencesResponseItem extends FileSpanWithContext { - /** Text of line containing the reference. Including this - * with the response avoids latency of editor loading files - * to show text of reference line (the server already has - * loaded the referencing files). + /** + * Text of line containing the reference. Including this + * with the response avoids latency of editor loading files + * to show text of reference line (the server already has loaded the referencing files). + * + * If {@link UserPreferences.disableLineTextInReferences} is enabled, the property won't be filled */ - lineText: string; + lineText?: string; /** * True if reference is a write location, false otherwise. */ @@ -9819,6 +9835,10 @@ declare namespace ts.server.protocol { readonly includeInlayFunctionLikeReturnTypeHints?: boolean; readonly includeInlayEnumMemberValueHints?: boolean; readonly autoImportFileExcludePatterns?: string[]; + /** + * Indicates whether {@link ReferencesResponseItem.lineText} is supported. + */ + readonly disableLineTextInReferences?: boolean; } interface CompilerOptions { allowJs?: boolean; @@ -10070,7 +10090,6 @@ declare namespace ts.server { private externalFiles; private missingFilesMap; private generatedFilesMap; - private plugins; protected languageService: LanguageService; languageServiceEnabled: boolean; readonly trace?: (s: string) => void; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 0e6b2559af02e..54e4c654e3588 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -5399,9 +5399,9 @@ declare namespace ts { /** If provided, called with Diagnostic message that informs about change in watch status */ onWatchStatusChange?(diagnostic: Diagnostic, newLine: string, options: CompilerOptions, errorCount?: number): void; /** Used to watch changes in source files, missing files needed to update the program or config file */ - watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: CompilerOptions): FileWatcher; + watchFile(path: string, callback: FileWatcherCallback, pollingInterval?: number, options?: WatchOptions): FileWatcher; /** Used to watch resolved module's failed lookup locations, config file specs, type roots where auto type reference directives are added */ - watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: CompilerOptions): FileWatcher; + watchDirectory(path: string, callback: DirectoryWatcherCallback, recursive?: boolean, options?: WatchOptions): FileWatcher; /** If provided, will be used to set delayed compilation, so that multiple changes in short span are compiled together */ setTimeout?(callback: (...args: any[]) => void, ms: number, ...args: any[]): any; /** If provided, will be used to reset existing delayed compilation */ @@ -6032,8 +6032,15 @@ declare namespace ts { type: "file"; fileName: string; } + enum OrganizeImportsMode { + All = "All", + SortAndCombine = "SortAndCombine", + RemoveUnused = "RemoveUnused" + } interface OrganizeImportsArgs extends CombinedCodeFixScope { + /** @deprecated Use `mode` instead */ skipDestructiveCodeActions?: boolean; + mode?: OrganizeImportsMode; } type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#" | " "; enum CompletionTriggerKind { diff --git a/tests/baselines/reference/arrowFunctionInExpressionStatement1.symbols b/tests/baselines/reference/arrowFunctionInExpressionStatement1.symbols index 690ff3500c8ee..25113f14b7cf5 100644 --- a/tests/baselines/reference/arrowFunctionInExpressionStatement1.symbols +++ b/tests/baselines/reference/arrowFunctionInExpressionStatement1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/arrowFunctionInExpressionStatement1.ts === + () => 0; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asiBreak.symbols b/tests/baselines/reference/asiBreak.symbols index 355d27f2a43a8..bad37b8f92c11 100644 --- a/tests/baselines/reference/asiBreak.symbols +++ b/tests/baselines/reference/asiBreak.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/asiBreak.ts === + while (true) break -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asiContinue.symbols b/tests/baselines/reference/asiContinue.symbols index 5b3f01453773f..421e593f00e18 100644 --- a/tests/baselines/reference/asiContinue.symbols +++ b/tests/baselines/reference/asiContinue.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/asiContinue.ts === + while (true) continue -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asiReturn.symbols b/tests/baselines/reference/asiReturn.symbols index da206e8577bc0..0e4edaa631c45 100644 --- a/tests/baselines/reference/asiReturn.symbols +++ b/tests/baselines/reference/asiReturn.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/asiReturn.ts === + // This should be an error for using a return outside a function, but ASI should work properly -No type information for this code.return -No type information for this code. \ No newline at end of file +return diff --git a/tests/baselines/reference/asiReturn.types b/tests/baselines/reference/asiReturn.types index da206e8577bc0..0e4edaa631c45 100644 --- a/tests/baselines/reference/asiReturn.types +++ b/tests/baselines/reference/asiReturn.types @@ -1,4 +1,4 @@ === tests/cases/compiler/asiReturn.ts === + // This should be an error for using a return outside a function, but ASI should work properly -No type information for this code.return -No type information for this code. \ No newline at end of file +return diff --git a/tests/baselines/reference/assertionFunctionWildcardImport1.js b/tests/baselines/reference/assertionFunctionWildcardImport1.js new file mode 100644 index 0000000000000..618e433f9d500 --- /dev/null +++ b/tests/baselines/reference/assertionFunctionWildcardImport1.js @@ -0,0 +1,71 @@ +//// [tests/cases/compiler/assertionFunctionWildcardImport1.ts] //// + +//// [ts.ts] +import * as Debug from "../debug"; +export { Debug }; + +//// [debug.ts] +export declare function assert(expression: unknown): asserts expression; + + +//// [foo.ts] +import * as ts from "./_namespaces/ts"; +import { Debug } from "./_namespaces/ts"; + +ts.Debug.assert(true); +Debug.assert(true); + + +//// [ts.ts] +export * from "../../core/_namespaces/ts" + + +//// [bar.ts] +import * as ts from "./_namespaces/ts"; +import { Debug } from "./_namespaces/ts"; + +ts.Debug.assert(true); +Debug.assert(true); + + +//// [debug.js] +"use strict"; +exports.__esModule = true; +//// [ts.js] +"use strict"; +exports.__esModule = true; +exports.Debug = void 0; +var Debug = require("../debug"); +exports.Debug = Debug; +//// [foo.js] +"use strict"; +exports.__esModule = true; +var ts = require("./_namespaces/ts"); +var ts_1 = require("./_namespaces/ts"); +ts.Debug.assert(true); +ts_1.Debug.assert(true); +//// [ts.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); +}; +exports.__esModule = true; +__exportStar(require("../../core/_namespaces/ts"), exports); +//// [bar.js] +"use strict"; +exports.__esModule = true; +var ts = require("./_namespaces/ts"); +var ts_1 = require("./_namespaces/ts"); +ts.Debug.assert(true); +ts_1.Debug.assert(true); diff --git a/tests/baselines/reference/assertionFunctionWildcardImport1.symbols b/tests/baselines/reference/assertionFunctionWildcardImport1.symbols new file mode 100644 index 0000000000000..ea4fa4af61712 --- /dev/null +++ b/tests/baselines/reference/assertionFunctionWildcardImport1.symbols @@ -0,0 +1,58 @@ +=== tests/cases/compiler/src/core/_namespaces/ts.ts === +import * as Debug from "../debug"; +>Debug : Symbol(Debug, Decl(ts.ts, 0, 6)) + +export { Debug }; +>Debug : Symbol(Debug, Decl(ts.ts, 1, 8)) + +=== tests/cases/compiler/src/core/debug.ts === +export declare function assert(expression: unknown): asserts expression; +>assert : Symbol(assert, Decl(debug.ts, 0, 0)) +>expression : Symbol(expression, Decl(debug.ts, 0, 31)) +>expression : Symbol(expression, Decl(debug.ts, 0, 31)) + + +=== tests/cases/compiler/src/core/foo.ts === +import * as ts from "./_namespaces/ts"; +>ts : Symbol(ts, Decl(foo.ts, 0, 6)) + +import { Debug } from "./_namespaces/ts"; +>Debug : Symbol(Debug, Decl(foo.ts, 1, 8)) + +ts.Debug.assert(true); +>ts.Debug.assert : Symbol(ts.Debug.assert, Decl(debug.ts, 0, 0)) +>ts.Debug : Symbol(ts.Debug, Decl(ts.ts, 1, 8)) +>ts : Symbol(ts, Decl(foo.ts, 0, 6)) +>Debug : Symbol(ts.Debug, Decl(ts.ts, 1, 8)) +>assert : Symbol(ts.Debug.assert, Decl(debug.ts, 0, 0)) + +Debug.assert(true); +>Debug.assert : Symbol(ts.Debug.assert, Decl(debug.ts, 0, 0)) +>Debug : Symbol(Debug, Decl(foo.ts, 1, 8)) +>assert : Symbol(ts.Debug.assert, Decl(debug.ts, 0, 0)) + + +=== tests/cases/compiler/src/other/_namespaces/ts.ts === + +export * from "../../core/_namespaces/ts" + + +=== tests/cases/compiler/src/other/bar.ts === +import * as ts from "./_namespaces/ts"; +>ts : Symbol(ts, Decl(bar.ts, 0, 6)) + +import { Debug } from "./_namespaces/ts"; +>Debug : Symbol(Debug, Decl(bar.ts, 1, 8)) + +ts.Debug.assert(true); +>ts.Debug.assert : Symbol(Debug.assert, Decl(debug.ts, 0, 0)) +>ts.Debug : Symbol(ts.Debug, Decl(ts.ts, 1, 8)) +>ts : Symbol(ts, Decl(bar.ts, 0, 6)) +>Debug : Symbol(ts.Debug, Decl(ts.ts, 1, 8)) +>assert : Symbol(Debug.assert, Decl(debug.ts, 0, 0)) + +Debug.assert(true); +>Debug.assert : Symbol(Debug.assert, Decl(debug.ts, 0, 0)) +>Debug : Symbol(Debug, Decl(bar.ts, 1, 8)) +>assert : Symbol(Debug.assert, Decl(debug.ts, 0, 0)) + diff --git a/tests/baselines/reference/assertionFunctionWildcardImport1.types b/tests/baselines/reference/assertionFunctionWildcardImport1.types new file mode 100644 index 0000000000000..82610d9ca68e8 --- /dev/null +++ b/tests/baselines/reference/assertionFunctionWildcardImport1.types @@ -0,0 +1,65 @@ +=== tests/cases/compiler/src/core/_namespaces/ts.ts === +import * as Debug from "../debug"; +>Debug : typeof Debug + +export { Debug }; +>Debug : typeof Debug + +=== tests/cases/compiler/src/core/debug.ts === +export declare function assert(expression: unknown): asserts expression; +>assert : (expression: unknown) => asserts expression +>expression : unknown + + +=== tests/cases/compiler/src/core/foo.ts === +import * as ts from "./_namespaces/ts"; +>ts : typeof ts + +import { Debug } from "./_namespaces/ts"; +>Debug : typeof ts.Debug + +ts.Debug.assert(true); +>ts.Debug.assert(true) : void +>ts.Debug.assert : (expression: unknown) => asserts expression +>ts.Debug : typeof ts.Debug +>ts : typeof ts +>Debug : typeof ts.Debug +>assert : (expression: unknown) => asserts expression +>true : true + +Debug.assert(true); +>Debug.assert(true) : void +>Debug.assert : (expression: unknown) => asserts expression +>Debug : typeof ts.Debug +>assert : (expression: unknown) => asserts expression +>true : true + + +=== tests/cases/compiler/src/other/_namespaces/ts.ts === + +export * from "../../core/_namespaces/ts" + + +=== tests/cases/compiler/src/other/bar.ts === +import * as ts from "./_namespaces/ts"; +>ts : typeof ts + +import { Debug } from "./_namespaces/ts"; +>Debug : typeof ts.Debug + +ts.Debug.assert(true); +>ts.Debug.assert(true) : void +>ts.Debug.assert : (expression: unknown) => asserts expression +>ts.Debug : typeof ts.Debug +>ts : typeof ts +>Debug : typeof ts.Debug +>assert : (expression: unknown) => asserts expression +>true : true + +Debug.assert(true); +>Debug.assert(true) : void +>Debug.assert : (expression: unknown) => asserts expression +>Debug : typeof ts.Debug +>assert : (expression: unknown) => asserts expression +>true : true + diff --git a/tests/baselines/reference/assertionFunctionWildcardImport2.js b/tests/baselines/reference/assertionFunctionWildcardImport2.js new file mode 100644 index 0000000000000..a56f26f60f975 --- /dev/null +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.js @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/assertionFunctionWildcardImport2.ts] //// + +//// [asserts.ts] +function isNonNullable(obj: T): asserts obj is NonNullable { + if (obj === undefined || obj === null) { + throw new Error("Must not be a nullable value"); + } +} + +export { + isNonNullable +}; + +//// [test.ts] +import * as asserts from "./asserts"; + +function test(obj: string | null): void { + asserts.isNonNullable(obj); + obj.trim(); +} + + +//// [asserts.js] +"use strict"; +exports.__esModule = true; +exports.isNonNullable = void 0; +function isNonNullable(obj) { + if (obj === undefined || obj === null) { + throw new Error("Must not be a nullable value"); + } +} +exports.isNonNullable = isNonNullable; +//// [test.js] +"use strict"; +exports.__esModule = true; +var asserts = require("./asserts"); +function test(obj) { + asserts.isNonNullable(obj); + obj.trim(); +} diff --git a/tests/baselines/reference/assertionFunctionWildcardImport2.symbols b/tests/baselines/reference/assertionFunctionWildcardImport2.symbols new file mode 100644 index 0000000000000..ca06e3db686d9 --- /dev/null +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.symbols @@ -0,0 +1,46 @@ +=== tests/cases/compiler/asserts.ts === +function isNonNullable(obj: T): asserts obj is NonNullable { +>isNonNullable : Symbol(isNonNullable, Decl(asserts.ts, 0, 0)) +>T : Symbol(T, Decl(asserts.ts, 0, 23)) +>obj : Symbol(obj, Decl(asserts.ts, 0, 26)) +>T : Symbol(T, Decl(asserts.ts, 0, 23)) +>obj : Symbol(obj, Decl(asserts.ts, 0, 26)) +>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(asserts.ts, 0, 23)) + + if (obj === undefined || obj === null) { +>obj : Symbol(obj, Decl(asserts.ts, 0, 26)) +>undefined : Symbol(undefined) +>obj : Symbol(obj, Decl(asserts.ts, 0, 26)) + + throw new Error("Must not be a nullable value"); +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + } +} + +export { + isNonNullable +>isNonNullable : Symbol(isNonNullable, Decl(asserts.ts, 6, 8)) + +}; + +=== tests/cases/compiler/test.ts === +import * as asserts from "./asserts"; +>asserts : Symbol(asserts, Decl(test.ts, 0, 6)) + +function test(obj: string | null): void { +>test : Symbol(test, Decl(test.ts, 0, 37)) +>obj : Symbol(obj, Decl(test.ts, 2, 14)) + + asserts.isNonNullable(obj); +>asserts.isNonNullable : Symbol(asserts.isNonNullable, Decl(asserts.ts, 6, 8)) +>asserts : Symbol(asserts, Decl(test.ts, 0, 6)) +>isNonNullable : Symbol(asserts.isNonNullable, Decl(asserts.ts, 6, 8)) +>obj : Symbol(obj, Decl(test.ts, 2, 14)) + + obj.trim(); +>obj.trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --)) +>obj : Symbol(obj, Decl(test.ts, 2, 14)) +>trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --)) +} + diff --git a/tests/baselines/reference/assertionFunctionWildcardImport2.types b/tests/baselines/reference/assertionFunctionWildcardImport2.types new file mode 100644 index 0000000000000..ffceb8e919855 --- /dev/null +++ b/tests/baselines/reference/assertionFunctionWildcardImport2.types @@ -0,0 +1,50 @@ +=== tests/cases/compiler/asserts.ts === +function isNonNullable(obj: T): asserts obj is NonNullable { +>isNonNullable : (obj: T) => asserts obj is NonNullable +>obj : T + + if (obj === undefined || obj === null) { +>obj === undefined || obj === null : boolean +>obj === undefined : boolean +>obj : T +>undefined : undefined +>obj === null : boolean +>obj : T & ({} | null) +>null : null + + throw new Error("Must not be a nullable value"); +>new Error("Must not be a nullable value") : Error +>Error : ErrorConstructor +>"Must not be a nullable value" : "Must not be a nullable value" + } +} + +export { + isNonNullable +>isNonNullable : (obj: T) => asserts obj is NonNullable + +}; + +=== tests/cases/compiler/test.ts === +import * as asserts from "./asserts"; +>asserts : typeof asserts + +function test(obj: string | null): void { +>test : (obj: string | null) => void +>obj : string | null +>null : null + + asserts.isNonNullable(obj); +>asserts.isNonNullable(obj) : void +>asserts.isNonNullable : (obj: T) => asserts obj is NonNullable +>asserts : typeof asserts +>isNonNullable : (obj: T) => asserts obj is NonNullable +>obj : string | null + + obj.trim(); +>obj.trim() : string +>obj.trim : () => string +>obj : string +>trim : () => string +} + diff --git a/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.symbols b/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.symbols index e6db879f44176..dee3f0d792897 100644 --- a/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.symbols +++ b/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.symbols @@ -1,3 +1,2 @@ === tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithWithGenericConstructSignatures.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.types b/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.types index e6db879f44176..dee3f0d792897 100644 --- a/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.types @@ -1,3 +1,2 @@ === tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithWithGenericConstructSignatures.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.js b/tests/baselines/reference/asyncArrowFunction11_es5.js index a16ce36e84072..a9d236abf5ab8 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.js +++ b/tests/baselines/reference/asyncArrowFunction11_es5.js @@ -23,7 +23,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js index ec3837911ded0..669af6e09ee6d 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js @@ -56,7 +56,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncAwait_es5.js b/tests/baselines/reference/asyncAwait_es5.js index 6a6433e85c6fe..0be5df06a9dc5 100644 --- a/tests/baselines/reference/asyncAwait_es5.js +++ b/tests/baselines/reference/asyncAwait_es5.js @@ -62,7 +62,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncFunctionNoReturnType.js b/tests/baselines/reference/asyncFunctionNoReturnType.js index 430210cbdbc14..6a17af94903e3 100644 --- a/tests/baselines/reference/asyncFunctionNoReturnType.js +++ b/tests/baselines/reference/asyncFunctionNoReturnType.js @@ -21,7 +21,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.js b/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.js index 887484e933a2a..ac72fcd05feec 100644 --- a/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.js +++ b/tests/baselines/reference/asyncFunctionReturnExpressionErrorSpans.js @@ -37,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncFunctionReturnType.2.js b/tests/baselines/reference/asyncFunctionReturnType.2.js new file mode 100644 index 0000000000000..9405b3f2bb5b6 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionReturnType.2.js @@ -0,0 +1,11 @@ +//// [asyncFunctionReturnType.2.ts] +// https://github.com/microsoft/TypeScript/issues/47291 +class X { + f = async (): Promise => this; +} + +//// [asyncFunctionReturnType.2.js] +// https://github.com/microsoft/TypeScript/issues/47291 +class X { + f = async () => this; +} diff --git a/tests/baselines/reference/asyncFunctionReturnType.2.symbols b/tests/baselines/reference/asyncFunctionReturnType.2.symbols new file mode 100644 index 0000000000000..2e9988be963d3 --- /dev/null +++ b/tests/baselines/reference/asyncFunctionReturnType.2.symbols @@ -0,0 +1,10 @@ +=== tests/cases/compiler/asyncFunctionReturnType.2.ts === +// https://github.com/microsoft/TypeScript/issues/47291 +class X { +>X : Symbol(X, Decl(asyncFunctionReturnType.2.ts, 0, 0)) + + f = async (): Promise => this; +>f : Symbol(X.f, Decl(asyncFunctionReturnType.2.ts, 1, 9)) +>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --)) +>this : Symbol(X, Decl(asyncFunctionReturnType.2.ts, 0, 0)) +} diff --git a/tests/baselines/reference/asyncFunctionReturnType.2.types b/tests/baselines/reference/asyncFunctionReturnType.2.types new file mode 100644 index 0000000000000..1559dda5bf47f --- /dev/null +++ b/tests/baselines/reference/asyncFunctionReturnType.2.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/asyncFunctionReturnType.2.ts === +// https://github.com/microsoft/TypeScript/issues/47291 +class X { +>X : X + + f = async (): Promise => this; +>f : () => Promise +>async (): Promise => this : () => Promise +>this : this +} diff --git a/tests/baselines/reference/asyncFunctionTempVariableScoping.js b/tests/baselines/reference/asyncFunctionTempVariableScoping.js index 3a6da56c993f8..9b8b83f93ee6a 100644 --- a/tests/baselines/reference/asyncFunctionTempVariableScoping.js +++ b/tests/baselines/reference/asyncFunctionTempVariableScoping.js @@ -20,7 +20,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncFunctionWithForStatementNoInitializer.js b/tests/baselines/reference/asyncFunctionWithForStatementNoInitializer.js index 055a751f523d1..1ea24341d043f 100644 --- a/tests/baselines/reference/asyncFunctionWithForStatementNoInitializer.js +++ b/tests/baselines/reference/asyncFunctionWithForStatementNoInitializer.js @@ -40,7 +40,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncImportNestedYield.js b/tests/baselines/reference/asyncImportNestedYield.js index b92065950fbf3..190d930a1adcc 100644 --- a/tests/baselines/reference/asyncImportNestedYield.js +++ b/tests/baselines/reference/asyncImportNestedYield.js @@ -10,7 +10,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -46,12 +46,13 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar function foo() { return __asyncGenerator(this, arguments, function foo_1() { return __generator(this, function (_a) { + var _b, _c; switch (_a.label) { case 0: return [4 /*yield*/, __await("foo")]; case 1: return [4 /*yield*/, _a.sent()]; - case 2: return [4 /*yield*/, __await.apply(void 0, [Promise.resolve().then(function () { return require(_a.sent()); })])]; + case 2: return [4 /*yield*/, __await.apply(void 0, [(_b = _a.sent(), Promise.resolve().then(function () { return require(_b); }))])]; case 3: - Promise.resolve().then(function () { return require((_a.sent())["default"]); }); + _c = (_a.sent())["default"], Promise.resolve().then(function () { return require(_c); }); return [2 /*return*/]; } }); diff --git a/tests/baselines/reference/asyncImportedPromise_es5.js b/tests/baselines/reference/asyncImportedPromise_es5.js index 79a1ea3f13fdf..aaaf4a95491f8 100644 --- a/tests/baselines/reference/asyncImportedPromise_es5.js +++ b/tests/baselines/reference/asyncImportedPromise_es5.js @@ -53,7 +53,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/asyncInterface_es5.types b/tests/baselines/reference/asyncInterface_es5.types index 804a7103d18fd..cc1913e891b4b 100644 --- a/tests/baselines/reference/asyncInterface_es5.types +++ b/tests/baselines/reference/asyncInterface_es5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es5/asyncInterface_es5.ts === + async interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/asyncInterface_es6.types b/tests/baselines/reference/asyncInterface_es6.types index 3990cb71883f2..34e5f482911d4 100644 --- a/tests/baselines/reference/asyncInterface_es6.types +++ b/tests/baselines/reference/asyncInterface_es6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es6/asyncInterface_es6.ts === + async interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.js b/tests/baselines/reference/asyncMethodWithSuper_es6.js index a5f216d221a7d..514fc52f4efc2 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.js +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.js @@ -185,6 +185,32 @@ class B extends A { (async () => super["x"] = f); } } + +// https://github.com/microsoft/TypeScript/issues/46828 +class Base { + set setter(x: any) {} + get getter(): any { return; } + method(x: string): any {} + + static set setter(x: any) {} + static get getter(): any { return; } + static method(x: string): any {} +} + +class Derived extends Base { + a() { return async () => super.method('') } + b() { return async () => super.getter } + c() { return async () => super.setter = '' } + d() { return async () => super["method"]('') } + e() { return async () => super["getter"] } + f() { return async () => super["setter"] = '' } + static a() { return async () => super.method('') } + static b() { return async () => super.getter } + static c() { return async () => super.setter = '' } + static d() { return async () => super["method"]('') } + static e() { return async () => super["getter"] } + static f() { return async () => super["setter"] = '' } +} //// [asyncMethodWithSuper_es6.js] @@ -377,3 +403,62 @@ class B extends A { }); } } +// https://github.com/microsoft/TypeScript/issues/46828 +class Base { + set setter(x) { } + get getter() { return; } + method(x) { } + static set setter(x) { } + static get getter() { return; } + static method(x) { } +} +class Derived extends Base { + a() { const _super = Object.create(null, { + method: { get: () => super.method } + }); return () => __awaiter(this, void 0, void 0, function* () { return _super.method.call(this, ''); }); } + b() { const _super = Object.create(null, { + getter: { get: () => super.getter } + }); return () => __awaiter(this, void 0, void 0, function* () { return _super.getter; }); } + c() { const _super = Object.create(null, { + setter: { get: () => super.setter, set: v => super.setter = v } + }); return () => __awaiter(this, void 0, void 0, function* () { return _super.setter = ''; }); } + d() { + const _superIndex = name => super[name]; + return () => __awaiter(this, void 0, void 0, function* () { return _superIndex("method").call(this, ''); }); + } + e() { + const _superIndex = name => super[name]; + return () => __awaiter(this, void 0, void 0, function* () { return _superIndex("getter"); }); + } + f() { + const _superIndex = (function (geti, seti) { + const cache = Object.create(null); + return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } }); + })(name => super[name], (name, value) => super[name] = value); + return () => __awaiter(this, void 0, void 0, function* () { return _superIndex("setter").value = ''; }); + } + static a() { const _super = Object.create(null, { + method: { get: () => super.method } + }); return () => __awaiter(this, void 0, void 0, function* () { return _super.method.call(this, ''); }); } + static b() { const _super = Object.create(null, { + getter: { get: () => super.getter } + }); return () => __awaiter(this, void 0, void 0, function* () { return _super.getter; }); } + static c() { const _super = Object.create(null, { + setter: { get: () => super.setter, set: v => super.setter = v } + }); return () => __awaiter(this, void 0, void 0, function* () { return _super.setter = ''; }); } + static d() { + const _superIndex = name => super[name]; + return () => __awaiter(this, void 0, void 0, function* () { return _superIndex("method").call(this, ''); }); + } + static e() { + const _superIndex = name => super[name]; + return () => __awaiter(this, void 0, void 0, function* () { return _superIndex("getter"); }); + } + static f() { + const _superIndex = (function (geti, seti) { + const cache = Object.create(null); + return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } }); + })(name => super[name], (name, value) => super[name] = value); + return () => __awaiter(this, void 0, void 0, function* () { return _superIndex("setter").value = ''; }); + } +} diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.symbols b/tests/baselines/reference/asyncMethodWithSuper_es6.symbols index 59c844fa7defe..ca3c70f048073 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.symbols +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.symbols @@ -376,3 +376,101 @@ class B extends A { } } +// https://github.com/microsoft/TypeScript/issues/46828 +class Base { +>Base : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) + + set setter(x: any) {} +>setter : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 188, 12)) +>x : Symbol(x, Decl(asyncMethodWithSuper_es6.ts, 189, 15)) + + get getter(): any { return; } +>getter : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 189, 25)) + + method(x: string): any {} +>method : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 190, 33)) +>x : Symbol(x, Decl(asyncMethodWithSuper_es6.ts, 191, 11)) + + static set setter(x: any) {} +>setter : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 191, 29)) +>x : Symbol(x, Decl(asyncMethodWithSuper_es6.ts, 193, 22)) + + static get getter(): any { return; } +>getter : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 193, 32)) + + static method(x: string): any {} +>method : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 194, 40)) +>x : Symbol(x, Decl(asyncMethodWithSuper_es6.ts, 195, 18)) +} + +class Derived extends Base { +>Derived : Symbol(Derived, Decl(asyncMethodWithSuper_es6.ts, 196, 1)) +>Base : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) + + a() { return async () => super.method('') } +>a : Symbol(Derived.a, Decl(asyncMethodWithSuper_es6.ts, 198, 28)) +>super.method : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 190, 33)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>method : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 190, 33)) + + b() { return async () => super.getter } +>b : Symbol(Derived.b, Decl(asyncMethodWithSuper_es6.ts, 199, 47)) +>super.getter : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 189, 25)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>getter : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 189, 25)) + + c() { return async () => super.setter = '' } +>c : Symbol(Derived.c, Decl(asyncMethodWithSuper_es6.ts, 200, 43)) +>super.setter : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 188, 12)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>setter : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 188, 12)) + + d() { return async () => super["method"]('') } +>d : Symbol(Derived.d, Decl(asyncMethodWithSuper_es6.ts, 201, 48)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>"method" : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 190, 33)) + + e() { return async () => super["getter"] } +>e : Symbol(Derived.e, Decl(asyncMethodWithSuper_es6.ts, 202, 50)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>"getter" : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 189, 25)) + + f() { return async () => super["setter"] = '' } +>f : Symbol(Derived.f, Decl(asyncMethodWithSuper_es6.ts, 203, 46)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>"setter" : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 188, 12)) + + static a() { return async () => super.method('') } +>a : Symbol(Derived.a, Decl(asyncMethodWithSuper_es6.ts, 204, 51)) +>super.method : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 194, 40)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>method : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 194, 40)) + + static b() { return async () => super.getter } +>b : Symbol(Derived.b, Decl(asyncMethodWithSuper_es6.ts, 205, 54)) +>super.getter : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 193, 32)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>getter : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 193, 32)) + + static c() { return async () => super.setter = '' } +>c : Symbol(Derived.c, Decl(asyncMethodWithSuper_es6.ts, 206, 50)) +>super.setter : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 191, 29)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>setter : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 191, 29)) + + static d() { return async () => super["method"]('') } +>d : Symbol(Derived.d, Decl(asyncMethodWithSuper_es6.ts, 207, 55)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>"method" : Symbol(Base.method, Decl(asyncMethodWithSuper_es6.ts, 194, 40)) + + static e() { return async () => super["getter"] } +>e : Symbol(Derived.e, Decl(asyncMethodWithSuper_es6.ts, 208, 57)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>"getter" : Symbol(Base.getter, Decl(asyncMethodWithSuper_es6.ts, 193, 32)) + + static f() { return async () => super["setter"] = '' } +>f : Symbol(Derived.f, Decl(asyncMethodWithSuper_es6.ts, 209, 53)) +>super : Symbol(Base, Decl(asyncMethodWithSuper_es6.ts, 185, 1)) +>"setter" : Symbol(Base.setter, Decl(asyncMethodWithSuper_es6.ts, 191, 29)) +} + diff --git a/tests/baselines/reference/asyncMethodWithSuper_es6.types b/tests/baselines/reference/asyncMethodWithSuper_es6.types index 5dcc642146a93..a2d5bf49b898b 100644 --- a/tests/baselines/reference/asyncMethodWithSuper_es6.types +++ b/tests/baselines/reference/asyncMethodWithSuper_es6.types @@ -504,3 +504,135 @@ class B extends A { } } +// https://github.com/microsoft/TypeScript/issues/46828 +class Base { +>Base : Base + + set setter(x: any) {} +>setter : any +>x : any + + get getter(): any { return; } +>getter : any + + method(x: string): any {} +>method : (x: string) => any +>x : string + + static set setter(x: any) {} +>setter : any +>x : any + + static get getter(): any { return; } +>getter : any + + static method(x: string): any {} +>method : (x: string) => any +>x : string +} + +class Derived extends Base { +>Derived : Derived +>Base : Base + + a() { return async () => super.method('') } +>a : () => () => Promise +>async () => super.method('') : () => Promise +>super.method('') : any +>super.method : (x: string) => any +>super : Base +>method : (x: string) => any +>'' : "" + + b() { return async () => super.getter } +>b : () => () => Promise +>async () => super.getter : () => Promise +>super.getter : any +>super : Base +>getter : any + + c() { return async () => super.setter = '' } +>c : () => () => Promise +>async () => super.setter = '' : () => Promise +>super.setter = '' : "" +>super.setter : any +>super : Base +>setter : any +>'' : "" + + d() { return async () => super["method"]('') } +>d : () => () => Promise +>async () => super["method"]('') : () => Promise +>super["method"]('') : any +>super["method"] : (x: string) => any +>super : Base +>"method" : "method" +>'' : "" + + e() { return async () => super["getter"] } +>e : () => () => Promise +>async () => super["getter"] : () => Promise +>super["getter"] : any +>super : Base +>"getter" : "getter" + + f() { return async () => super["setter"] = '' } +>f : () => () => Promise +>async () => super["setter"] = '' : () => Promise +>super["setter"] = '' : "" +>super["setter"] : any +>super : Base +>"setter" : "setter" +>'' : "" + + static a() { return async () => super.method('') } +>a : () => () => Promise +>async () => super.method('') : () => Promise +>super.method('') : any +>super.method : (x: string) => any +>super : typeof Base +>method : (x: string) => any +>'' : "" + + static b() { return async () => super.getter } +>b : () => () => Promise +>async () => super.getter : () => Promise +>super.getter : any +>super : typeof Base +>getter : any + + static c() { return async () => super.setter = '' } +>c : () => () => Promise +>async () => super.setter = '' : () => Promise +>super.setter = '' : "" +>super.setter : any +>super : typeof Base +>setter : any +>'' : "" + + static d() { return async () => super["method"]('') } +>d : () => () => Promise +>async () => super["method"]('') : () => Promise +>super["method"]('') : any +>super["method"] : (x: string) => any +>super : typeof Base +>"method" : "method" +>'' : "" + + static e() { return async () => super["getter"] } +>e : () => () => Promise +>async () => super["getter"] : () => Promise +>super["getter"] : any +>super : typeof Base +>"getter" : "getter" + + static f() { return async () => super["setter"] = '' } +>f : () => () => Promise +>async () => super["setter"] = '' : () => Promise +>super["setter"] = '' : "" +>super["setter"] : any +>super : typeof Base +>"setter" : "setter" +>'' : "" +} + diff --git a/tests/baselines/reference/asyncModule_es5.types b/tests/baselines/reference/asyncModule_es5.types index 6d9544051c0ba..0f59174940c0e 100644 --- a/tests/baselines/reference/asyncModule_es5.types +++ b/tests/baselines/reference/asyncModule_es5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es5/asyncModule_es5.ts === + async module M { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/asyncModule_es6.types b/tests/baselines/reference/asyncModule_es6.types index 7772b353b8e19..f4143cb7a386c 100644 --- a/tests/baselines/reference/asyncModule_es6.types +++ b/tests/baselines/reference/asyncModule_es6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/async/es6/asyncModule_es6.ts === + async module M { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/asyncMultiFile_es5.js b/tests/baselines/reference/asyncMultiFile_es5.js index 392a4456cc296..2dd73b8b6c76e 100644 --- a/tests/baselines/reference/asyncMultiFile_es5.js +++ b/tests/baselines/reference/asyncMultiFile_es5.js @@ -21,7 +21,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/augmentArray.types b/tests/baselines/reference/augmentArray.types index fe7d9fe2e2d6f..938f4c8d6003e 100644 --- a/tests/baselines/reference/augmentArray.types +++ b/tests/baselines/reference/augmentArray.types @@ -1,5 +1,5 @@ === tests/cases/compiler/augmentArray.ts === + interface Array { -No type information for this code. (): any[]; -No type information for this code.} -No type information for this code. \ No newline at end of file + (): any[]; +} diff --git a/tests/baselines/reference/baseCheck.errors.txt b/tests/baselines/reference/baseCheck.errors.txt index 240c3bbaaba25..e7612bb080192 100644 --- a/tests/baselines/reference/baseCheck.errors.txt +++ b/tests/baselines/reference/baseCheck.errors.txt @@ -21,7 +21,7 @@ tests/cases/compiler/baseCheck.ts(26,9): error TS2304: Cannot find name 'x'. super(0, loc); ~~~ !!! error TS2552: Cannot find name 'loc'. Did you mean 'Lock'? -!!! related TS2728 /.ts/lib.dom.d.ts:9241:13: 'Lock' is declared here. +!!! related TS2728 /.ts/lib.dom.d.ts:9275:13: 'Lock' is declared here. } m() { diff --git a/tests/baselines/reference/bind2.symbols b/tests/baselines/reference/bind2.symbols index f51d09abcdd97..9e3cf7d21d479 100644 --- a/tests/baselines/reference/bind2.symbols +++ b/tests/baselines/reference/bind2.symbols @@ -1,3 +1,2 @@ === tests/cases/compiler/bind2.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/bind2.types b/tests/baselines/reference/bind2.types index f51d09abcdd97..9e3cf7d21d479 100644 --- a/tests/baselines/reference/bind2.types +++ b/tests/baselines/reference/bind2.types @@ -1,3 +1,2 @@ === tests/cases/compiler/bind2.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/blockScopedBindingsInDownlevelGenerator.js b/tests/baselines/reference/blockScopedBindingsInDownlevelGenerator.js index eb59846f9e0b3..5298d7c054be0 100644 --- a/tests/baselines/reference/blockScopedBindingsInDownlevelGenerator.js +++ b/tests/baselines/reference/blockScopedBindingsInDownlevelGenerator.js @@ -13,7 +13,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement1.symbols b/tests/baselines/reference/breakInIterationOrSwitchStatement1.symbols index 6a2bae2c2c412..e84431fd42681 100644 --- a/tests/baselines/reference/breakInIterationOrSwitchStatement1.symbols +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement1.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/breakInIterationOrSwitchStatement1.ts === + while (true) { -No type information for this code. break; -No type information for this code.} -No type information for this code. \ No newline at end of file + break; +} diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement2.symbols b/tests/baselines/reference/breakInIterationOrSwitchStatement2.symbols index 0f8928a664dcf..b96d749f813a3 100644 --- a/tests/baselines/reference/breakInIterationOrSwitchStatement2.symbols +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/breakInIterationOrSwitchStatement2.ts === + do { -No type information for this code. break; -No type information for this code.} -No type information for this code.while (true); -No type information for this code. \ No newline at end of file + break; +} +while (true); diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement3.symbols b/tests/baselines/reference/breakInIterationOrSwitchStatement3.symbols index 5676b2deccd2e..471cacd257a8b 100644 --- a/tests/baselines/reference/breakInIterationOrSwitchStatement3.symbols +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement3.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/breakInIterationOrSwitchStatement3.ts === + for (;;) { -No type information for this code. break; -No type information for this code.} -No type information for this code. \ No newline at end of file + break; +} diff --git a/tests/baselines/reference/breakInIterationOrSwitchStatement3.types b/tests/baselines/reference/breakInIterationOrSwitchStatement3.types index 5676b2deccd2e..471cacd257a8b 100644 --- a/tests/baselines/reference/breakInIterationOrSwitchStatement3.types +++ b/tests/baselines/reference/breakInIterationOrSwitchStatement3.types @@ -1,5 +1,5 @@ === tests/cases/compiler/breakInIterationOrSwitchStatement3.ts === + for (;;) { -No type information for this code. break; -No type information for this code.} -No type information for this code. \ No newline at end of file + break; +} diff --git a/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.symbols b/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.symbols index 2537ee257718e..ece7e82bfc032 100644 --- a/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.symbols +++ b/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/breakNotInIterationOrSwitchStatement1.ts === + break; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.types b/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.types index 2537ee257718e..ece7e82bfc032 100644 --- a/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.types +++ b/tests/baselines/reference/breakNotInIterationOrSwitchStatement1.types @@ -1,3 +1,3 @@ === tests/cases/compiler/breakNotInIterationOrSwitchStatement1.ts === + break; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/breakTarget1.symbols b/tests/baselines/reference/breakTarget1.symbols index eda3b1cac352f..dcb8860c5b7c7 100644 --- a/tests/baselines/reference/breakTarget1.symbols +++ b/tests/baselines/reference/breakTarget1.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/breakTarget1.ts === + target: -No type information for this code. break target; -No type information for this code. \ No newline at end of file + break target; diff --git a/tests/baselines/reference/breakTarget2.symbols b/tests/baselines/reference/breakTarget2.symbols index 6357695785bcf..4738e1530ebef 100644 --- a/tests/baselines/reference/breakTarget2.symbols +++ b/tests/baselines/reference/breakTarget2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/breakTarget2.ts === + target: -No type information for this code.while (true) { -No type information for this code. break target; -No type information for this code.} -No type information for this code. \ No newline at end of file +while (true) { + break target; +} diff --git a/tests/baselines/reference/breakTarget3.symbols b/tests/baselines/reference/breakTarget3.symbols index 580706bbd4a46..b00f075c1192b 100644 --- a/tests/baselines/reference/breakTarget3.symbols +++ b/tests/baselines/reference/breakTarget3.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/breakTarget3.ts === + target1: -No type information for this code.target2: -No type information for this code.while (true) { -No type information for this code. break target1; -No type information for this code.} -No type information for this code. \ No newline at end of file +target2: +while (true) { + break target1; +} diff --git a/tests/baselines/reference/breakTarget4.symbols b/tests/baselines/reference/breakTarget4.symbols index aba35ddcfdf3d..32aaf357e3d33 100644 --- a/tests/baselines/reference/breakTarget4.symbols +++ b/tests/baselines/reference/breakTarget4.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/breakTarget4.ts === + target1: -No type information for this code.target2: -No type information for this code.while (true) { -No type information for this code. break target2; -No type information for this code.} -No type information for this code. \ No newline at end of file +target2: +while (true) { + break target2; +} diff --git a/tests/baselines/reference/breakTarget6.symbols b/tests/baselines/reference/breakTarget6.symbols index 2c5ebfae3f711..77dc493eba355 100644 --- a/tests/baselines/reference/breakTarget6.symbols +++ b/tests/baselines/reference/breakTarget6.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/breakTarget6.ts === + while (true) { -No type information for this code. break target; -No type information for this code.} -No type information for this code. \ No newline at end of file + break target; +} diff --git a/tests/baselines/reference/bundledDtsLateExportRenaming.symbols b/tests/baselines/reference/bundledDtsLateExportRenaming.symbols index 990b6ebebf7e3..cb3a43c999987 100644 --- a/tests/baselines/reference/bundledDtsLateExportRenaming.symbols +++ b/tests/baselines/reference/bundledDtsLateExportRenaming.symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/index.ts === + export * from "./nested"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/nested/base.ts === + +=== tests/cases/compiler/nested/base.ts === import { B } from "./shared"; >B : Symbol(B, Decl(base.ts, 0, 8)) @@ -24,12 +25,13 @@ export function g() { } === tests/cases/compiler/nested/index.ts === + export * from "./base"; -No type information for this code. -No type information for this code.export * from "./derived"; -No type information for this code.export * from "./shared"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/nested/shared.ts === + +export * from "./derived"; +export * from "./shared"; + +=== tests/cases/compiler/nested/shared.ts === export class B {} >B : Symbol(B, Decl(shared.ts, 0, 0)) diff --git a/tests/baselines/reference/bundledDtsLateExportRenaming.types b/tests/baselines/reference/bundledDtsLateExportRenaming.types index eacdf1823671f..d9aee2d895627 100644 --- a/tests/baselines/reference/bundledDtsLateExportRenaming.types +++ b/tests/baselines/reference/bundledDtsLateExportRenaming.types @@ -1,7 +1,8 @@ === tests/cases/compiler/index.ts === + export * from "./nested"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/nested/base.ts === + +=== tests/cases/compiler/nested/base.ts === import { B } from "./shared"; >B : typeof B @@ -26,12 +27,13 @@ export function g() { } === tests/cases/compiler/nested/index.ts === + export * from "./base"; -No type information for this code. -No type information for this code.export * from "./derived"; -No type information for this code.export * from "./shared"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/nested/shared.ts === + +export * from "./derived"; +export * from "./shared"; + +=== tests/cases/compiler/nested/shared.ts === export class B {} >B : B diff --git a/tests/baselines/reference/castOfYield.js b/tests/baselines/reference/castOfYield.js index 86d35bedad434..0af321306cdd6 100644 --- a/tests/baselines/reference/castOfYield.js +++ b/tests/baselines/reference/castOfYield.js @@ -13,7 +13,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/checkJsdocOnEndOfFile.symbols b/tests/baselines/reference/checkJsdocOnEndOfFile.symbols index bda09fa653e0c..2b601e10df699 100644 --- a/tests/baselines/reference/checkJsdocOnEndOfFile.symbols +++ b/tests/baselines/reference/checkJsdocOnEndOfFile.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/jsdoc/eof.js === + /** -No type information for this code. * @typedef {Array} Should have error here -No type information for this code. */ -No type information for this code. -No type information for this code. \ No newline at end of file + * @typedef {Array} Should have error here + */ + diff --git a/tests/baselines/reference/checkJsdocOnEndOfFile.types b/tests/baselines/reference/checkJsdocOnEndOfFile.types index bda09fa653e0c..2b601e10df699 100644 --- a/tests/baselines/reference/checkJsdocOnEndOfFile.types +++ b/tests/baselines/reference/checkJsdocOnEndOfFile.types @@ -1,6 +1,6 @@ === tests/cases/conformance/jsdoc/eof.js === + /** -No type information for this code. * @typedef {Array} Should have error here -No type information for this code. */ -No type information for this code. -No type information for this code. \ No newline at end of file + * @typedef {Array} Should have error here + */ + diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.symbols index 9510ed2a12b0c..22b10b5d5173d 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment1.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {boolean} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.types index cff18cf8d2560..0ebe0b11b2874 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment1.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {boolean} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.symbols index d9ea314fe9d0c..b24c0e9142a26 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment2.js === -No type information for this code.=== tests/cases/compiler/a.ts === +=== tests/cases/compiler/a.ts === export interface Foo { >Foo : Symbol(Foo, Decl(a.ts, 0, 0)) diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.types index ffd32162e1e3e..e8bbda7ca55d8 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment2.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment2.js === -No type information for this code.=== tests/cases/compiler/a.ts === +=== tests/cases/compiler/a.ts === export interface Foo { a: number; >a : number diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.symbols index 75b977df8122a..c57b4851ad917 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment3.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {boolean} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.types index 71bb88a771276..440d26570b56d 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment3.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment3.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {boolean} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.symbols index 587a72b7be6b9..65ff844759423 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment4.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === + /** -No type information for this code. * @typedef {number} Foo -No type information for this code. */ -No type information for this code. -No type information for this code./** @type {Foo} */ -No type information for this code.export default ""; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file + * @typedef {number} Foo + */ + +/** @type {Foo} */ +export default ""; + + diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.types index 587a72b7be6b9..65ff844759423 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment4.types @@ -1,12 +1,12 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment4.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === + /** -No type information for this code. * @typedef {number} Foo -No type information for this code. */ -No type information for this code. -No type information for this code./** @type {Foo} */ -No type information for this code.export default ""; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file + * @typedef {number} Foo + */ + +/** @type {Foo} */ +export default ""; + + diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.symbols index 6c03e88801316..fd98f27eaa320 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment5.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {number} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.types index c4fa3d07234f8..5821997d0d741 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment5.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment5.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {number} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.symbols index d1e45fe4f0ca1..c8e03908a2c80 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment6.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {number} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.types index 81f346f9044a0..9a0dcdbdeba44 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment6.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment6.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {number} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.symbols index dd863ba7de741..d5e1b4274e36e 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment7.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {number} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.types index 2e9febf3037a7..eda30a44f9e87 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment7.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment7.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef {Object} Foo * @property {number} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.symbols b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.symbols index be50e619090af..d605d9fc7c857 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.symbols +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment8.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef Foo * @property {string} a diff --git a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.types b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.types index 7d7d4a27d329d..09cc754f12c33 100644 --- a/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.types +++ b/tests/baselines/reference/checkJsdocTypeTagOnExportAssignment8.types @@ -1,6 +1,6 @@ === tests/cases/compiler/checkJsdocTypeTagOnExportAssignment8.js === -No type information for this code.=== tests/cases/compiler/a.js === +=== tests/cases/compiler/a.js === /** * @typedef Foo * @property {string} a diff --git a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.js b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.js index 2b3e3d3f0ab34..a05c9da890bcb 100644 --- a/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.js +++ b/tests/baselines/reference/checkJsxSubtleSkipContextSensitiveBug.js @@ -56,7 +56,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/classAbstractWithInterface.types b/tests/baselines/reference/classAbstractWithInterface.types index 5af39080f181b..b6511813da469 100644 --- a/tests/baselines/reference/classAbstractWithInterface.types +++ b/tests/baselines/reference/classAbstractWithInterface.types @@ -1,3 +1,3 @@ === tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractWithInterface.ts === + abstract interface I {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/classStaticBlock6.js b/tests/baselines/reference/classStaticBlock6.js index 69d146407890e..d0440849630d1 100644 --- a/tests/baselines/reference/classStaticBlock6.js +++ b/tests/baselines/reference/classStaticBlock6.js @@ -94,7 +94,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/classStaticBlock7.js b/tests/baselines/reference/classStaticBlock7.js index fd198db1871dd..f0d2fe31eef29 100644 --- a/tests/baselines/reference/classStaticBlock7.js +++ b/tests/baselines/reference/classStaticBlock7.js @@ -60,7 +60,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/classWithPredefinedTypesAsNames2.symbols b/tests/baselines/reference/classWithPredefinedTypesAsNames2.symbols index 89841014005ee..809e4da581f39 100644 --- a/tests/baselines/reference/classWithPredefinedTypesAsNames2.symbols +++ b/tests/baselines/reference/classWithPredefinedTypesAsNames2.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/classes/classDeclarations/classWithPredefinedTypesAsNames2.ts === + // classes cannot use predefined types as names -No type information for this code. -No type information for this code.class void {} -No type information for this code. \ No newline at end of file + +class void {} diff --git a/tests/baselines/reference/commentOnElidedModule1.types b/tests/baselines/reference/commentOnElidedModule1.types index dbe4881faface..aac352a8d68c2 100644 --- a/tests/baselines/reference/commentOnElidedModule1.types +++ b/tests/baselines/reference/commentOnElidedModule1.types @@ -1,19 +1,20 @@ === tests/cases/compiler/b.ts === + /// -No type information for this code.module ElidedModule3 { -No type information for this code.} -No type information for this code.=== tests/cases/compiler/a.ts === +module ElidedModule3 { +} +=== tests/cases/compiler/a.ts === + /*!================= -No type information for this code. Keep this pinned -No type information for this code. ================= -No type information for this code.*/ -No type information for this code. -No type information for this code./*! Don't keep this pinned comment */ -No type information for this code.module ElidedModule { -No type information for this code.} -No type information for this code. -No type information for this code.// Don't keep this comment. -No type information for this code.module ElidedModule2 { -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + Keep this pinned + ================= +*/ + +/*! Don't keep this pinned comment */ +module ElidedModule { +} + +// Don't keep this comment. +module ElidedModule2 { +} + diff --git a/tests/baselines/reference/commentOnExpressionStatement1.symbols b/tests/baselines/reference/commentOnExpressionStatement1.symbols index 58d45470ca5c9..38209755af350 100644 --- a/tests/baselines/reference/commentOnExpressionStatement1.symbols +++ b/tests/baselines/reference/commentOnExpressionStatement1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/commentOnExpressionStatement1.ts === + 1 + 1; // Comment. -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/commentOnIfStatement1.symbols b/tests/baselines/reference/commentOnIfStatement1.symbols index cc1fa728c4a1a..dfab3850516ce 100644 --- a/tests/baselines/reference/commentOnIfStatement1.symbols +++ b/tests/baselines/reference/commentOnIfStatement1.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/commentOnIfStatement1.ts === + // Test -No type information for this code.if (true) { -No type information for this code.} -No type information for this code. \ No newline at end of file +if (true) { +} diff --git a/tests/baselines/reference/commentOnInterface1.types b/tests/baselines/reference/commentOnInterface1.types index 7b9e14b8a1d64..edc2737533227 100644 --- a/tests/baselines/reference/commentOnInterface1.types +++ b/tests/baselines/reference/commentOnInterface1.types @@ -1,19 +1,20 @@ === tests/cases/compiler/b.ts === + /// -No type information for this code.interface I3 { -No type information for this code.} -No type information for this code.=== tests/cases/compiler/a.ts === +interface I3 { +} +=== tests/cases/compiler/a.ts === + /*!================= -No type information for this code. Keep this pinned -No type information for this code. ================= -No type information for this code.*/ -No type information for this code. -No type information for this code./*! Don't keep this pinned comment */ -No type information for this code.interface I { -No type information for this code.} -No type information for this code. -No type information for this code.// Don't keep this comment. -No type information for this code.interface I2 { -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + Keep this pinned + ================= +*/ + +/*! Don't keep this pinned comment */ +interface I { +} + +// Don't keep this comment. +interface I2 { +} + diff --git a/tests/baselines/reference/commentsAtEndOfFile1.symbols b/tests/baselines/reference/commentsAtEndOfFile1.symbols index c09a435f1a7fe..55e701dbbd896 100644 --- a/tests/baselines/reference/commentsAtEndOfFile1.symbols +++ b/tests/baselines/reference/commentsAtEndOfFile1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/commentsAtEndOfFile1.ts === + Input: -No type information for this code.; -No type information for this code.//Testing two -No type information for this code. -No type information for this code. \ No newline at end of file +; +//Testing two + diff --git a/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.js b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.js new file mode 100644 index 0000000000000..a0e56a3dd66de --- /dev/null +++ b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.js @@ -0,0 +1,27 @@ +//// [comparabilityTypeParametersRelatedByUnion.ts] +class C { + constructor(readonly x: T) {} + + good(y: U) { + if (y === this.x) {} + } + + bad(y: U) { + if (y === this.x) {} + } +} + + +//// [comparabilityTypeParametersRelatedByUnion.js] +var C = /** @class */ (function () { + function C(x) { + this.x = x; + } + C.prototype.good = function (y) { + if (y === this.x) { } + }; + C.prototype.bad = function (y) { + if (y === this.x) { } + }; + return C; +}()); diff --git a/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.symbols b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.symbols new file mode 100644 index 0000000000000..482900c650c8b --- /dev/null +++ b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.symbols @@ -0,0 +1,38 @@ +=== tests/cases/compiler/comparabilityTypeParametersRelatedByUnion.ts === +class C { +>C : Symbol(C, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 0)) +>T : Symbol(T, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 8)) + + constructor(readonly x: T) {} +>x : Symbol(C.x, Decl(comparabilityTypeParametersRelatedByUnion.ts, 1, 14)) +>T : Symbol(T, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 8)) + + good(y: U) { +>good : Symbol(C.good, Decl(comparabilityTypeParametersRelatedByUnion.ts, 1, 31)) +>U : Symbol(U, Decl(comparabilityTypeParametersRelatedByUnion.ts, 3, 7)) +>T : Symbol(T, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 8)) +>y : Symbol(y, Decl(comparabilityTypeParametersRelatedByUnion.ts, 3, 20)) +>U : Symbol(U, Decl(comparabilityTypeParametersRelatedByUnion.ts, 3, 7)) + + if (y === this.x) {} +>y : Symbol(y, Decl(comparabilityTypeParametersRelatedByUnion.ts, 3, 20)) +>this.x : Symbol(C.x, Decl(comparabilityTypeParametersRelatedByUnion.ts, 1, 14)) +>this : Symbol(C, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 0)) +>x : Symbol(C.x, Decl(comparabilityTypeParametersRelatedByUnion.ts, 1, 14)) + } + + bad(y: U) { +>bad : Symbol(C.bad, Decl(comparabilityTypeParametersRelatedByUnion.ts, 5, 3)) +>U : Symbol(U, Decl(comparabilityTypeParametersRelatedByUnion.ts, 7, 6)) +>T : Symbol(T, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 8)) +>y : Symbol(y, Decl(comparabilityTypeParametersRelatedByUnion.ts, 7, 28)) +>U : Symbol(U, Decl(comparabilityTypeParametersRelatedByUnion.ts, 7, 6)) + + if (y === this.x) {} +>y : Symbol(y, Decl(comparabilityTypeParametersRelatedByUnion.ts, 7, 28)) +>this.x : Symbol(C.x, Decl(comparabilityTypeParametersRelatedByUnion.ts, 1, 14)) +>this : Symbol(C, Decl(comparabilityTypeParametersRelatedByUnion.ts, 0, 0)) +>x : Symbol(C.x, Decl(comparabilityTypeParametersRelatedByUnion.ts, 1, 14)) + } +} + diff --git a/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types new file mode 100644 index 0000000000000..f2d380552d801 --- /dev/null +++ b/tests/baselines/reference/comparabilityTypeParametersRelatedByUnion.types @@ -0,0 +1,32 @@ +=== tests/cases/compiler/comparabilityTypeParametersRelatedByUnion.ts === +class C { +>C : C + + constructor(readonly x: T) {} +>x : T + + good(y: U) { +>good : (y: U) => void +>y : U + + if (y === this.x) {} +>y === this.x : boolean +>y : U +>this.x : T +>this : this +>x : T + } + + bad(y: U) { +>bad : (y: U) => void +>y : U + + if (y === this.x) {} +>y === this.x : boolean +>y : U +>this.x : T +>this : this +>x : T + } +} + diff --git a/tests/baselines/reference/completionsStringMethods.baseline b/tests/baselines/reference/completionsStringMethods.baseline index 0d3fe39d755c9..7f560b27e947e 100644 --- a/tests/baselines/reference/completionsStringMethods.baseline +++ b/tests/baselines/reference/completionsStringMethods.baseline @@ -1048,7 +1048,7 @@ "kind": "space" }, { - "text": "A string to search for.", + "text": "A string or regular expression to search for.", "kind": "text" } ] @@ -1065,7 +1065,53 @@ "kind": "space" }, { - "text": "A string containing the text to replace for every successful match of searchValue in this string.", + "text": "A string containing the text to replace. When the ", + "kind": "text" + }, + { + "text": "{@linkcode ", + "kind": "link" + }, + { + "text": "searchValue", + "kind": "linkName", + "target": { + "fileName": "lib.d.ts", + "textSpan": { + "start": 18880, + "length": 28 + } + } + }, + { + "text": "}", + "kind": "link" + }, + { + "text": " is a `RegExp`, all matches are replaced if the `g` flag is set (or only those matches at the beginning, if the `y` flag is also present). Otherwise, only the first match of ", + "kind": "text" + }, + { + "text": "{@linkcode ", + "kind": "link" + }, + { + "text": "searchValue", + "kind": "linkName", + "target": { + "fileName": "lib.d.ts", + "textSpan": { + "start": 18880, + "length": 28 + } + } + }, + { + "text": "}", + "kind": "link" + }, + { + "text": " is replaced.", "kind": "text" } ] diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --force together is invalid.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --force together is invalid.js new file mode 100644 index 0000000000000..ff703f25ce7fa --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --force together is invalid.js @@ -0,0 +1,12 @@ +--clean --force +buildOptions:: +{ + "clean": true, + "force": true +} +WatchOptions:: + +Projects:: +. +Errors:: +error TS6370: Options 'clean' and 'force' cannot be combined. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --verbose together is invalid.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --verbose together is invalid.js new file mode 100644 index 0000000000000..a5f665c196d61 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --verbose together is invalid.js @@ -0,0 +1,12 @@ +--clean --verbose +buildOptions:: +{ + "clean": true, + "verbose": true +} +WatchOptions:: + +Projects:: +. +Errors:: +error TS6370: Options 'clean' and 'verbose' cannot be combined. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --watch together is invalid.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --watch together is invalid.js new file mode 100644 index 0000000000000..754283ce029bd --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--clean and --watch together is invalid.js @@ -0,0 +1,12 @@ +--clean --watch +buildOptions:: +{ + "clean": true, + "watch": true +} +WatchOptions:: + +Projects:: +. +Errors:: +error TS6370: Options 'clean' and 'watch' cannot be combined. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--watch and --dry together is invalid.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--watch and --dry together is invalid.js new file mode 100644 index 0000000000000..841b0dfbb57eb --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/--watch and --dry together is invalid.js @@ -0,0 +1,12 @@ +--watch --dry +buildOptions:: +{ + "watch": true, + "dry": true +} +WatchOptions:: + +Projects:: +. +Errors:: +error TS6370: Options 'watch' and 'dry' cannot be combined. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects at the end.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects at the end.js new file mode 100644 index 0000000000000..e647a4a039c25 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects at the end.js @@ -0,0 +1,11 @@ +--force --verbose src tests +buildOptions:: +{ + "force": true, + "verbose": true +} +WatchOptions:: + +Projects:: +src,tests +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects in the beginning.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects in the beginning.js new file mode 100644 index 0000000000000..42aae4de856c4 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects in the beginning.js @@ -0,0 +1,11 @@ +src tests --force --verbose +buildOptions:: +{ + "force": true, + "verbose": true +} +WatchOptions:: + +Projects:: +src,tests +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects in the middle.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects in the middle.js new file mode 100644 index 0000000000000..0dbec2c7666ad --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple flags with input projects in the middle.js @@ -0,0 +1,11 @@ +--force src tests --verbose +buildOptions:: +{ + "force": true, + "verbose": true +} +WatchOptions:: + +Projects:: +src,tests +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple options.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple options.js new file mode 100644 index 0000000000000..e29895636f602 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse multiple options.js @@ -0,0 +1,11 @@ +--verbose --force tests +buildOptions:: +{ + "verbose": true, + "force": true +} +WatchOptions:: + +Projects:: +tests +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse option with invalid option.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse option with invalid option.js new file mode 100644 index 0000000000000..d385a51f7320d --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/Parse option with invalid option.js @@ -0,0 +1,11 @@ +--verbose --invalidOption +buildOptions:: +{ + "verbose": true +} +WatchOptions:: + +Projects:: +. +Errors:: +error TS5072: Unknown build option '--invalidOption'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on invalid excludeDirectories.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on invalid excludeDirectories.js new file mode 100644 index 0000000000000..35f0a639f9c8d --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on invalid excludeDirectories.js @@ -0,0 +1,11 @@ +--excludeDirectories **/../* +buildOptions:: +{} +WatchOptions:: +{ + "excludeDirectories": [] +} +Projects:: +. +Errors:: +error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on invalid excludeFiles.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on invalid excludeFiles.js new file mode 100644 index 0000000000000..89d564b19aa96 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on invalid excludeFiles.js @@ -0,0 +1,11 @@ +--excludeFiles **/../* +buildOptions:: +{} +WatchOptions:: +{ + "excludeFiles": [] +} +Projects:: +. +Errors:: +error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on missing argument.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on missing argument.js new file mode 100644 index 0000000000000..212cae1eb636e --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/errors on missing argument.js @@ -0,0 +1,12 @@ +--verbose --fallbackPolling +buildOptions:: +{ + "verbose": true +} +WatchOptions:: +{} +Projects:: +. +Errors:: +error TS5080: Watch option 'fallbackPolling' requires a value of type string. +error TS6046: Argument for '--fallbackPolling' option must be: 'fixedinterval', 'priorityinterval', 'dynamicpriority', 'fixedchunksize'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --excludeFiles.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --excludeFiles.js new file mode 100644 index 0000000000000..d62c5f98e0450 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --excludeFiles.js @@ -0,0 +1,12 @@ +--excludeFiles **/temp/*.ts +buildOptions:: +{} +WatchOptions:: +{ + "excludeFiles": [ + "**/temp/*.ts" + ] +} +Projects:: +. +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --fallbackPolling.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --fallbackPolling.js new file mode 100644 index 0000000000000..1fd285ef9759f --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --fallbackPolling.js @@ -0,0 +1,12 @@ +--fallbackPolling PriorityInterval --verbose +buildOptions:: +{ + "verbose": true +} +WatchOptions:: +{ + "fallbackPolling": 1 +} +Projects:: +. +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --synchronousWatchDirectory.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --synchronousWatchDirectory.js new file mode 100644 index 0000000000000..5b065234cf12c --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --synchronousWatchDirectory.js @@ -0,0 +1,12 @@ +--synchronousWatchDirectory --verbose +buildOptions:: +{ + "verbose": true +} +WatchOptions:: +{ + "synchronousWatchDirectory": true +} +Projects:: +. +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --watchDirectory.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --watchDirectory.js new file mode 100644 index 0000000000000..62a74a7a9d26c --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --watchDirectory.js @@ -0,0 +1,12 @@ +--watchDirectory FixedPollingInterval --verbose +buildOptions:: +{ + "verbose": true +} +WatchOptions:: +{ + "watchDirectory": 1 +} +Projects:: +. +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --watchFile.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --watchFile.js new file mode 100644 index 0000000000000..1f881f80f8a8e --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse --watchFile.js @@ -0,0 +1,12 @@ +--watchFile UseFsEvents --verbose +buildOptions:: +{ + "verbose": true +} +WatchOptions:: +{ + "watchFile": 4 +} +Projects:: +. +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --incremental.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --incremental.js new file mode 100644 index 0000000000000..91cebea73a395 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --incremental.js @@ -0,0 +1,10 @@ +--incremental tests +buildOptions:: +{ + "incremental": true +} +WatchOptions:: + +Projects:: +tests +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --locale en-us.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --locale en-us.js new file mode 100644 index 0000000000000..8b3e814d4f1c7 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --locale en-us.js @@ -0,0 +1,10 @@ +--locale en-us src +buildOptions:: +{ + "locale": "en-us" +} +WatchOptions:: + +Projects:: +src +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --tsBuildInfoFile.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --tsBuildInfoFile.js new file mode 100644 index 0000000000000..1ddf67e0c54ab --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build with --tsBuildInfoFile.js @@ -0,0 +1,9 @@ +--tsBuildInfoFile build.tsbuildinfo tests +buildOptions:: +{} +WatchOptions:: + +Projects:: +build.tsbuildinfo,tests +Errors:: +error TS5094: Compiler option '--tsBuildInfoFile' may not be used with '--build'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build without any options .js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build without any options .js new file mode 100644 index 0000000000000..36e1149f47356 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/parse build without any options .js @@ -0,0 +1,8 @@ + +buildOptions:: +{} +WatchOptions:: + +Projects:: +. +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/reports other common may not be used with --build flags.js b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/reports other common may not be used with --build flags.js new file mode 100644 index 0000000000000..b758998ce1620 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseBuildOptions/reports other common may not be used with --build flags.js @@ -0,0 +1,10 @@ +--declaration --strict +buildOptions:: +{} +WatchOptions:: + +Projects:: +. +Errors:: +error TS5094: Compiler option '--declaration' may not be used with '--build'. +error TS5094: Compiler option '--strict' may not be used with '--build'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Handles did you mean for misspelt flags.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Handles did you mean for misspelt flags.js new file mode 100644 index 0000000000000..9e7bb151eac62 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Handles did you mean for misspelt flags.js @@ -0,0 +1,10 @@ +--declarations --allowTS +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: + +Errors:: +error TS5025: Unknown compiler option '--declarations'. Did you mean 'declaration'? +error TS5025: Unknown compiler option '--allowTS'. Did you mean 'allowJs'? diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Handles may only be used with --build flags.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Handles may only be used with --build flags.js new file mode 100644 index 0000000000000..d7e2490b18fdf --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Handles may only be used with --build flags.js @@ -0,0 +1,12 @@ +--clean --dry --force --verbose +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: + +Errors:: +error TS5093: Compiler option '--clean' may only be used with '--build'. +error TS5093: Compiler option '--dry' may only be used with '--build'. +error TS5093: Compiler option '--force' may only be used with '--build'. +error TS5093: Compiler option '--verbose' may only be used with '--build'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js new file mode 100644 index 0000000000000..cd9c9e4957d17 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js @@ -0,0 +1,13 @@ +--lib es5, es7 0.ts +CompilerOptions:: +{ + "lib": [ + "lib.es5.d.ts" + ] +} +WatchOptions:: + +FileNames:: +es7,0.ts +Errors:: +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js new file mode 100644 index 0000000000000..db535ca00f994 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js @@ -0,0 +1,13 @@ +--lib es5, es7 0.ts +CompilerOptions:: +{ + "lib": [ + "lib.es5.d.ts" + ] +} +WatchOptions:: + +FileNames:: +es7,0.ts +Errors:: +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --jsx.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --jsx.js new file mode 100644 index 0000000000000..a4a41ae126044 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --jsx.js @@ -0,0 +1,10 @@ +0.ts --jsx +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'jsx' expects an argument. +error TS6046: Argument for '--jsx' option must be: 'preserve', 'react-native', 'react', 'react-jsx', 'react-jsxdev'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --lib.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --lib.js new file mode 100644 index 0000000000000..d3f0a03b606d1 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --lib.js @@ -0,0 +1,11 @@ +0.ts --lib +CompilerOptions:: +{ + "lib": [] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'lib' expects an argument. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --module.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --module.js new file mode 100644 index 0000000000000..6eac025950521 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --module.js @@ -0,0 +1,10 @@ +0.ts --module +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'module' expects an argument. +error TS6046: Argument for '--module' option must be: 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --moduleResolution.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --moduleResolution.js new file mode 100644 index 0000000000000..fb361238364f5 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --moduleResolution.js @@ -0,0 +1,10 @@ +0.ts --moduleResolution +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'moduleResolution' expects an argument. +error TS6046: Argument for '--moduleResolution' option must be: 'node', 'classic', 'node16', 'nodenext'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --newLine.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --newLine.js new file mode 100644 index 0000000000000..cd6c862f1320c --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --newLine.js @@ -0,0 +1,10 @@ +0.ts --newLine +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'newLine' expects an argument. +error TS6046: Argument for '--newLine' option must be: 'crlf', 'lf'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --target.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --target.js new file mode 100644 index 0000000000000..35926083139a7 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty options of --target.js @@ -0,0 +1,10 @@ +0.ts --target +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'target' expects an argument. +error TS6046: Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty string of --lib.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty string of --lib.js new file mode 100644 index 0000000000000..a21dc499ae458 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse empty string of --lib.js @@ -0,0 +1,11 @@ +0.ts --lib +CompilerOptions:: +{ + "lib": [] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6044: Compiler option 'lib' expects an argument. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse explicit boolean flag value.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse explicit boolean flag value.js new file mode 100644 index 0000000000000..dd8cca535a400 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse explicit boolean flag value.js @@ -0,0 +1,10 @@ +--strictNullChecks false 0.ts +CompilerOptions:: +{ + "strictNullChecks": false +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse immediately following command line argument of --lib.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse immediately following command line argument of --lib.js new file mode 100644 index 0000000000000..635303d8967ef --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse immediately following command line argument of --lib.js @@ -0,0 +1,11 @@ +0.ts --lib --sourcemap +CompilerOptions:: +{ + "lib": [], + "sourceMap": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse implicit boolean flag value.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse implicit boolean flag value.js new file mode 100644 index 0000000000000..b278bb6260549 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse implicit boolean flag value.js @@ -0,0 +1,10 @@ +--strictNullChecks +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: + +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js new file mode 100644 index 0000000000000..06df71f899e4b --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js @@ -0,0 +1,13 @@ +--lib es5,invalidOption 0.ts +CompilerOptions:: +{ + "lib": [ + "lib.es5.d.ts" + ] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple compiler flags with input files at the end.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple compiler flags with input files at the end.js new file mode 100644 index 0000000000000..b3c7bea3fd566 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple compiler flags with input files at the end.js @@ -0,0 +1,14 @@ +--lib es5,es2015.symbol.wellknown --target es5 0.ts +CompilerOptions:: +{ + "lib": [ + "lib.es5.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ], + "target": 1 +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple compiler flags with input files in the middle.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple compiler flags with input files in the middle.js new file mode 100644 index 0000000000000..6dd0ef5b372dc --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple compiler flags with input files in the middle.js @@ -0,0 +1,15 @@ +--module commonjs --target es5 0.ts --lib es5,es2015.symbol.wellknown +CompilerOptions:: +{ + "module": 1, + "target": 1, + "lib": [ + "lib.es5.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple library compiler flags .js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple library compiler flags .js new file mode 100644 index 0000000000000..fe6bf903acfca --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple library compiler flags .js @@ -0,0 +1,15 @@ +--module commonjs --target es5 --lib es5 0.ts --lib es2015.core, es2015.symbol.wellknown +CompilerOptions:: +{ + "module": 1, + "target": 1, + "lib": [ + "lib.es2015.core.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple options of library flags.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple options of library flags.js new file mode 100644 index 0000000000000..02be8361d616c --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse multiple options of library flags.js @@ -0,0 +1,13 @@ +--lib es5,es2015.symbol.wellknown 0.ts +CompilerOptions:: +{ + "lib": [ + "lib.es5.d.ts", + "lib.es2015.symbol.wellknown.d.ts" + ] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse non boolean argument after boolean flag.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse non boolean argument after boolean flag.js new file mode 100644 index 0000000000000..f170c944b910d --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse non boolean argument after boolean flag.js @@ -0,0 +1,10 @@ +--noImplicitAny t 0.ts +CompilerOptions:: +{ + "noImplicitAny": true +} +WatchOptions:: + +FileNames:: +t,0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse single option of library flag.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse single option of library flag.js new file mode 100644 index 0000000000000..085396bb590ef --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse single option of library flag.js @@ -0,0 +1,12 @@ +--lib es6 0.ts +CompilerOptions:: +{ + "lib": [ + "lib.es2015.d.ts" + ] +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/allows setting option type boolean to false.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/allows setting option type boolean to false.js new file mode 100644 index 0000000000000..f030755d829ca --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/allows setting option type boolean to false.js @@ -0,0 +1,10 @@ +--composite false 0.ts +CompilerOptions:: +{ + "composite": false +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/allows tsconfig only option to be set to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/allows tsconfig only option to be set to null.js new file mode 100644 index 0000000000000..7b0c75eb519e5 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/allows tsconfig only option to be set to null.js @@ -0,0 +1,8 @@ +--composite null -tsBuildInfoFile null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on invalid excludeDirectories.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on invalid excludeDirectories.js new file mode 100644 index 0000000000000..fbe68473c5a5b --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on invalid excludeDirectories.js @@ -0,0 +1,11 @@ +--excludeDirectories **/../* 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "excludeDirectories": [] +} +FileNames:: +0.ts +Errors:: +error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on invalid excludeFiles.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on invalid excludeFiles.js new file mode 100644 index 0000000000000..83588c628de48 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on invalid excludeFiles.js @@ -0,0 +1,11 @@ +--excludeFiles **/../* 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "excludeFiles": [] +} +FileNames:: +0.ts +Errors:: +error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on missing argument to --fallbackPolling.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on missing argument to --fallbackPolling.js new file mode 100644 index 0000000000000..0ccf34a297a4d --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/errors on missing argument to --fallbackPolling.js @@ -0,0 +1,10 @@ +0.ts --fallbackPolling +CompilerOptions:: +{} +WatchOptions:: +{} +FileNames:: +0.ts +Errors:: +error TS5080: Watch option 'fallbackPolling' requires a value of type string. +error TS6046: Argument for '--fallbackPolling' option must be: 'fixedinterval', 'priorityinterval', 'dynamicpriority', 'fixedchunksize'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean allows setting it to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean allows setting it to null.js new file mode 100644 index 0000000000000..5c75a44457e94 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean allows setting it to null.js @@ -0,0 +1,8 @@ +--composite null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if its followed by another option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if its followed by another option.js new file mode 100644 index 0000000000000..7c257fe64a8b7 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if its followed by another option.js @@ -0,0 +1,11 @@ +0.ts --strictNullChecks --composite +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6230: Option 'composite' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if its last option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if its last option.js new file mode 100644 index 0000000000000..7ecdc431d698b --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if its last option.js @@ -0,0 +1,9 @@ +0.ts --composite +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6230: Option 'composite' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if non null value is passed.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if non null value is passed.js new file mode 100644 index 0000000000000..6955df27f9c83 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type boolean errors if non null value is passed.js @@ -0,0 +1,9 @@ +--composite true 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6230: Option 'composite' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map allows setting it to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map allows setting it to null.js new file mode 100644 index 0000000000000..996e097ab4150 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map allows setting it to null.js @@ -0,0 +1,8 @@ +--optionName null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if its followed by another option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if its followed by another option.js new file mode 100644 index 0000000000000..c37d4e514708f --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if its followed by another option.js @@ -0,0 +1,11 @@ +0.ts --strictNullChecks --optionName +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if its last option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if its last option.js new file mode 100644 index 0000000000000..e6a3e96e4c377 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if its last option.js @@ -0,0 +1,9 @@ +0.ts --optionName +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if non null value is passed.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if non null value is passed.js new file mode 100644 index 0000000000000..1da840835c12b --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type custom map errors if non null value is passed.js @@ -0,0 +1,9 @@ +--optionName node 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list allows setting it to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list allows setting it to null.js new file mode 100644 index 0000000000000..3cd02971c418a --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list allows setting it to null.js @@ -0,0 +1,8 @@ +--rootDirs null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if its followed by another option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if its followed by another option.js new file mode 100644 index 0000000000000..66cf451885b78 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if its followed by another option.js @@ -0,0 +1,11 @@ +0.ts --strictNullChecks --rootDirs +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'rootDirs' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if its last option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if its last option.js new file mode 100644 index 0000000000000..21b489264bf4c --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if its last option.js @@ -0,0 +1,9 @@ +0.ts --rootDirs +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'rootDirs' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if non null value is passed.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if non null value is passed.js new file mode 100644 index 0000000000000..6ad60c46173c9 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type list errors if non null value is passed.js @@ -0,0 +1,9 @@ +--rootDirs abc,xyz 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'rootDirs' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number allows setting it to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number allows setting it to null.js new file mode 100644 index 0000000000000..996e097ab4150 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number allows setting it to null.js @@ -0,0 +1,8 @@ +--optionName null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if its followed by another option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if its followed by another option.js new file mode 100644 index 0000000000000..c37d4e514708f --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if its followed by another option.js @@ -0,0 +1,11 @@ +0.ts --strictNullChecks --optionName +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if its last option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if its last option.js new file mode 100644 index 0000000000000..e6a3e96e4c377 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if its last option.js @@ -0,0 +1,9 @@ +0.ts --optionName +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if non null value is passed.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if non null value is passed.js new file mode 100644 index 0000000000000..240c1b2bff023 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type number errors if non null value is passed.js @@ -0,0 +1,9 @@ +--optionName 10 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object allows setting it to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object allows setting it to null.js new file mode 100644 index 0000000000000..ee407a280596b --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object allows setting it to null.js @@ -0,0 +1,8 @@ +--paths null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object errors if its followed by another option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object errors if its followed by another option.js new file mode 100644 index 0000000000000..f7fe0fb368ee6 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object errors if its followed by another option.js @@ -0,0 +1,11 @@ +0.ts --strictNullChecks --paths +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'paths' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object errors if its last option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object errors if its last option.js new file mode 100644 index 0000000000000..f0e5be51c62fd --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type object errors if its last option.js @@ -0,0 +1,9 @@ +0.ts --paths +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'paths' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string allows setting it to null.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string allows setting it to null.js new file mode 100644 index 0000000000000..996e097ab4150 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string allows setting it to null.js @@ -0,0 +1,8 @@ +--optionName null 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if its followed by another option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if its followed by another option.js new file mode 100644 index 0000000000000..c37d4e514708f --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if its followed by another option.js @@ -0,0 +1,11 @@ +0.ts --strictNullChecks --optionName +CompilerOptions:: +{ + "strictNullChecks": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if its last option.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if its last option.js new file mode 100644 index 0000000000000..e6a3e96e4c377 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if its last option.js @@ -0,0 +1,9 @@ +0.ts --optionName +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if non null value is passed.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if non null value is passed.js new file mode 100644 index 0000000000000..0af5f2676a8e6 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/option of type string errors if non null value is passed.js @@ -0,0 +1,9 @@ +--optionName hello 0.ts +CompilerOptions:: +{} +WatchOptions:: + +FileNames:: +0.ts +Errors:: +error TS6064: Option 'optionName' can only be specified in 'tsconfig.json' file or set to 'null' on command line. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --excludeDirectories.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --excludeDirectories.js new file mode 100644 index 0000000000000..4c27ef1ace0e0 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --excludeDirectories.js @@ -0,0 +1,12 @@ +--excludeDirectories **/temp 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "excludeDirectories": [ + "**/temp" + ] +} +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --excludeFiles.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --excludeFiles.js new file mode 100644 index 0000000000000..0ec40cbf6a32b --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --excludeFiles.js @@ -0,0 +1,12 @@ +--excludeFiles **/temp/*.ts 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "excludeFiles": [ + "**/temp/*.ts" + ] +} +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --fallbackPolling.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --fallbackPolling.js new file mode 100644 index 0000000000000..3380894332710 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --fallbackPolling.js @@ -0,0 +1,10 @@ +--fallbackPolling PriorityInterval 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "fallbackPolling": 1 +} +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --incremental.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --incremental.js new file mode 100644 index 0000000000000..d2abf3408a1fc --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --incremental.js @@ -0,0 +1,10 @@ +--incremental 0.ts +CompilerOptions:: +{ + "incremental": true +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --synchronousWatchDirectory.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --synchronousWatchDirectory.js new file mode 100644 index 0000000000000..c8dbf2744c9a7 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --synchronousWatchDirectory.js @@ -0,0 +1,10 @@ +--synchronousWatchDirectory 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "synchronousWatchDirectory": true +} +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --tsBuildInfoFile.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --tsBuildInfoFile.js new file mode 100644 index 0000000000000..2abe1bcc152a9 --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --tsBuildInfoFile.js @@ -0,0 +1,10 @@ +--tsBuildInfoFile build.tsbuildinfo 0.ts +CompilerOptions:: +{ + "tsBuildInfoFile": "build.tsbuildinfo" +} +WatchOptions:: + +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --watchDirectory.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --watchDirectory.js new file mode 100644 index 0000000000000..f2ac41de85c1f --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --watchDirectory.js @@ -0,0 +1,10 @@ +--watchDirectory FixedPollingInterval 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "watchDirectory": 1 +} +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --watchFile.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --watchFile.js new file mode 100644 index 0000000000000..6869e6d47b0ce --- /dev/null +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/parse --watchFile.js @@ -0,0 +1,10 @@ +--watchFile UseFsEvents 0.ts +CompilerOptions:: +{} +WatchOptions:: +{ + "watchFile": 4 +} +FileNames:: +0.ts +Errors:: diff --git a/tests/baselines/reference/tsConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Default initialized TSConfig/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with --help/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with --watch/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with advanced options/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with enum value compiler options/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with files options/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json diff --git a/tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json similarity index 100% rename from tests/baselines/reference/tsConfig/Initialized TSConfig with list compiler options/tsconfig.json rename to tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/showConfig/Default initialized TSConfig/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Default initialized TSConfig/tsconfig.json rename to tests/baselines/reference/config/showConfig/Default initialized TSConfig/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with advanced options/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with advanced options/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with advanced options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with boolean value compiler options/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with boolean value compiler options/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with boolean value compiler options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with enum value compiler options/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with enum value compiler options/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with enum value compiler options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with files options/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with files options/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with files options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with incorrect compiler option value/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with incorrect compiler option value/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with incorrect compiler option value/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with incorrect compiler option/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with incorrect compiler option/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with incorrect compiler option/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with list compiler options with enum value/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with list compiler options with enum value/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with list compiler options with enum value/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with list compiler options/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with list compiler options/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with list compiler options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with paths and more/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with paths and more/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with paths and more/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with paths and more/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Show TSConfig with watch options/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with watch options/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Show TSConfig with watch options/tsconfig.json rename to tests/baselines/reference/config/showConfig/Show TSConfig with watch options/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/all/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/all/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/all/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/all/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/allowJs/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowJs/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/allowJs/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowJs/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/allowSyntheticDefaultImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowSyntheticDefaultImports/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/allowSyntheticDefaultImports/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowSyntheticDefaultImports/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/allowUmdGlobalAccess/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowUmdGlobalAccess/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/allowUmdGlobalAccess/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowUmdGlobalAccess/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/allowUnreachableCode/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowUnreachableCode/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/allowUnreachableCode/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowUnreachableCode/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/allowUnusedLabels/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowUnusedLabels/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/allowUnusedLabels/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/allowUnusedLabels/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/alwaysStrict/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/alwaysStrict/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/alwaysStrict/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/alwaysStrict/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/assumeChangesOnlyAffectDirectDependencies/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/assumeChangesOnlyAffectDirectDependencies/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/assumeChangesOnlyAffectDirectDependencies/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/assumeChangesOnlyAffectDirectDependencies/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/baseUrl/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/baseUrl/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/baseUrl/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/baseUrl/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/build/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/build/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/build/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/build/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/charset/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/charset/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/charset/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/charset/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/checkJs/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/checkJs/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/checkJs/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/checkJs/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/composite/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/composite/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/composite/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/composite/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/declaration/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/declaration/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/declaration/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/declaration/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/declarationDir/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/declarationDir/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/declarationDir/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/declarationDir/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/declarationMap/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/declarationMap/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/declarationMap/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/declarationMap/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/diagnostics/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/diagnostics/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/diagnostics/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/diagnostics/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/disableReferencedProjectLoad/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableReferencedProjectLoad/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/disableReferencedProjectLoad/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableReferencedProjectLoad/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/disableSizeLimit/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableSizeLimit/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/disableSizeLimit/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableSizeLimit/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/disableSolutionSearching/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableSolutionSearching/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/disableSolutionSearching/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableSolutionSearching/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/disableSourceOfProjectReferenceRedirect/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableSourceOfProjectReferenceRedirect/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/disableSourceOfProjectReferenceRedirect/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/disableSourceOfProjectReferenceRedirect/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/downlevelIteration/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/downlevelIteration/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/downlevelIteration/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/downlevelIteration/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/emitBOM/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/emitBOM/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/emitBOM/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/emitBOM/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/emitDeclarationOnly/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/emitDeclarationOnly/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/emitDeclarationOnly/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/emitDeclarationOnly/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/emitDecoratorMetadata/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/emitDecoratorMetadata/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/emitDecoratorMetadata/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/emitDecoratorMetadata/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/esModuleInterop/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/esModuleInterop/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/esModuleInterop/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/esModuleInterop/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/exactOptionalPropertyTypes/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/exactOptionalPropertyTypes/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/exactOptionalPropertyTypes/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/exactOptionalPropertyTypes/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/excludeDirectories/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/excludeDirectories/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/excludeDirectories/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/excludeDirectories/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/excludeFiles/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/excludeFiles/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/excludeFiles/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/excludeFiles/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/experimentalDecorators/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/experimentalDecorators/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/experimentalDecorators/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/experimentalDecorators/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/explainFiles/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/explainFiles/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/explainFiles/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/explainFiles/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/extendedDiagnostics/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/extendedDiagnostics/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/extendedDiagnostics/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/extendedDiagnostics/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/fallbackPolling/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/fallbackPolling/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/fallbackPolling/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/fallbackPolling/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/forceConsistentCasingInFileNames/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/forceConsistentCasingInFileNames/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/forceConsistentCasingInFileNames/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/forceConsistentCasingInFileNames/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/generateCpuProfile/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/generateCpuProfile/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/generateCpuProfile/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/generateCpuProfile/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/generateTrace/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/generateTrace/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/generateTrace/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/generateTrace/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/help/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/help/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/help/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/help/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/importHelpers/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/importHelpers/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/importHelpers/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/importHelpers/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/importsNotUsedAsValues/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/importsNotUsedAsValues/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/importsNotUsedAsValues/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/importsNotUsedAsValues/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/incremental/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/incremental/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/incremental/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/incremental/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/init/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/init/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/init/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/init/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/inlineSourceMap/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/inlineSourceMap/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/inlineSourceMap/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/inlineSourceMap/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/inlineSources/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/inlineSources/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/inlineSources/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/inlineSources/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/isolatedModules/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/isolatedModules/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/isolatedModules/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/isolatedModules/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/jsx/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsx/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/jsx/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsx/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/jsxFactory/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsxFactory/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/jsxFactory/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsxFactory/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/jsxFragmentFactory/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsxFragmentFactory/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/jsxFragmentFactory/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsxFragmentFactory/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/jsxImportSource/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsxImportSource/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/jsxImportSource/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/jsxImportSource/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/keyofStringsOnly/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/keyofStringsOnly/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/keyofStringsOnly/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/keyofStringsOnly/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/lib/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/lib/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/lib/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/lib/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/listEmittedFiles/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/listEmittedFiles/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/listEmittedFiles/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/listEmittedFiles/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/listFiles/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/listFiles/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/listFiles/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/listFiles/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/listFilesOnly/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/listFilesOnly/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/listFilesOnly/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/listFilesOnly/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/locale/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/locale/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/locale/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/locale/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/mapRoot/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/mapRoot/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/mapRoot/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/mapRoot/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/maxNodeModuleJsDepth/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/maxNodeModuleJsDepth/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/maxNodeModuleJsDepth/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/maxNodeModuleJsDepth/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/module/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/module/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/module/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/module/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/moduleDetection/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/moduleDetection/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/moduleDetection/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/moduleDetection/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/moduleResolution/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/moduleResolution/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/moduleResolution/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/moduleResolution/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/moduleSuffixes/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/moduleSuffixes/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/moduleSuffixes/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/moduleSuffixes/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/newLine/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/newLine/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/newLine/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/newLine/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noEmit/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noEmit/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noEmit/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noEmit/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noEmitHelpers/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noEmitHelpers/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noEmitHelpers/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noEmitHelpers/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noEmitOnError/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noEmitOnError/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noEmitOnError/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noEmitOnError/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noErrorTruncation/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noErrorTruncation/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noErrorTruncation/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noErrorTruncation/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noFallthroughCasesInSwitch/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noFallthroughCasesInSwitch/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noFallthroughCasesInSwitch/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noFallthroughCasesInSwitch/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitAny/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitAny/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitAny/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitAny/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitOverride/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitOverride/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitOverride/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitOverride/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitReturns/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitReturns/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitReturns/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitReturns/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitThis/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitThis/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitThis/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitThis/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitUseStrict/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitUseStrict/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noImplicitUseStrict/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noImplicitUseStrict/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noLib/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noLib/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noLib/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noLib/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noPropertyAccessFromIndexSignature/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noPropertyAccessFromIndexSignature/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noPropertyAccessFromIndexSignature/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noPropertyAccessFromIndexSignature/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noResolve/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noResolve/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noResolve/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noResolve/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noStrictGenericChecks/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noStrictGenericChecks/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noStrictGenericChecks/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noStrictGenericChecks/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noUncheckedIndexedAccess/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedIndexedAccess/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noUncheckedIndexedAccess/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedIndexedAccess/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noUnusedLocals/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUnusedLocals/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noUnusedLocals/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUnusedLocals/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/noUnusedParameters/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUnusedParameters/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/noUnusedParameters/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUnusedParameters/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/out/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/out/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/out/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/out/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/outDir/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/outDir/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/outDir/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/outDir/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/outFile/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/outFile/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/outFile/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/outFile/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/paths/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/paths/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/paths/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/paths/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/plugins/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/plugins/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/plugins/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/plugins/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveConstEnums/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveConstEnums/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveConstEnums/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveConstEnums/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveSymlinks/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveSymlinks/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveSymlinks/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveSymlinks/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveValueImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveValueImports/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveValueImports/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveValueImports/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveWatchOutput/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveWatchOutput/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/preserveWatchOutput/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/preserveWatchOutput/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/pretty/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/pretty/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/pretty/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/pretty/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/reactNamespace/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/reactNamespace/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/reactNamespace/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/reactNamespace/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/removeComments/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/removeComments/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/removeComments/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/removeComments/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/resolveJsonModule/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveJsonModule/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/resolveJsonModule/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/resolveJsonModule/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/rootDir/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/rootDir/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/rootDir/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/rootDir/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/rootDirs/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/rootDirs/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/rootDirs/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/rootDirs/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/showConfig/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/showConfig/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/showConfig/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/showConfig/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/skipDefaultLibCheck/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/skipDefaultLibCheck/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/skipDefaultLibCheck/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/skipDefaultLibCheck/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/skipLibCheck/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/skipLibCheck/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/skipLibCheck/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/skipLibCheck/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/sourceMap/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/sourceMap/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/sourceMap/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/sourceMap/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/sourceRoot/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/sourceRoot/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/sourceRoot/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/sourceRoot/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/strict/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strict/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/strict/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strict/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/strictBindCallApply/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictBindCallApply/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/strictBindCallApply/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictBindCallApply/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/strictFunctionTypes/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictFunctionTypes/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/strictFunctionTypes/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictFunctionTypes/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/strictNullChecks/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictNullChecks/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/strictNullChecks/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictNullChecks/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/strictPropertyInitialization/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictPropertyInitialization/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/strictPropertyInitialization/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictPropertyInitialization/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/stripInternal/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/stripInternal/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/stripInternal/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/stripInternal/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/suppressExcessPropertyErrors/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/suppressExcessPropertyErrors/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/suppressExcessPropertyErrors/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/suppressExcessPropertyErrors/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/suppressImplicitAnyIndexErrors/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/suppressImplicitAnyIndexErrors/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/suppressImplicitAnyIndexErrors/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/suppressImplicitAnyIndexErrors/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/synchronousWatchDirectory/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/synchronousWatchDirectory/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/synchronousWatchDirectory/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/synchronousWatchDirectory/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/target/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/target/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/target/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/target/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/traceResolution/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/traceResolution/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/traceResolution/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/traceResolution/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/tsBuildInfoFile/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/tsBuildInfoFile/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/tsBuildInfoFile/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/tsBuildInfoFile/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/typeRoots/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/typeRoots/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/typeRoots/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/typeRoots/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/types/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/types/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/types/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/types/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/useDefineForClassFields/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/useDefineForClassFields/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/useDefineForClassFields/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/useDefineForClassFields/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/useUnknownInCatchVariables/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/useUnknownInCatchVariables/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/useUnknownInCatchVariables/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/useUnknownInCatchVariables/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/version/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/version/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/version/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/version/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/watch/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/watch/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/watch/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/watch/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/watchDirectory/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/watchDirectory/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/watchDirectory/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/watchDirectory/tsconfig.json diff --git a/tests/baselines/reference/showConfig/Shows tsconfig for single option/watchFile/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/watchFile/tsconfig.json similarity index 100% rename from tests/baselines/reference/showConfig/Shows tsconfig for single option/watchFile/tsconfig.json rename to tests/baselines/reference/config/showConfig/Shows tsconfig for single option/watchFile/tsconfig.json diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/different options with json api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/different options with json api.js new file mode 100644 index 0000000000000..cc94977b4a120 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/different options with json api.js @@ -0,0 +1,109 @@ +Input:: { + "watchOptions": { + "watchFile": "UseFsEvents" + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "watchFile": 4 +} +Result: Errors:: + +Input:: { + "watchOptions": { + "watchDirectory": "UseFsEvents" + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "watchDirectory": 0 +} +Result: Errors:: + +Input:: { + "watchOptions": { + "fallbackPolling": "DynamicPriority" + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "fallbackPolling": 2 +} +Result: Errors:: + +Input:: { + "watchOptions": { + "synchronousWatchDirectory": true + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "synchronousWatchDirectory": true +} +Result: Errors:: + +Input:: { + "watchOptions": { + "excludeDirectories": [ + "**/temp" + ] + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "excludeDirectories": [ + "/**/temp" + ] +} +Result: Errors:: + +Input:: { + "watchOptions": { + "excludeFiles": [ + "**/temp/*.ts" + ] + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "excludeFiles": [ + "/**/temp/*.ts" + ] +} +Result: Errors:: + +Input:: { + "watchOptions": { + "excludeDirectories": [ + "**/../*" + ] + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "excludeDirectories": [] +} +Result: Errors:: +error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. + +Input:: { + "watchOptions": { + "excludeFiles": [ + "**/../*" + ] + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "excludeFiles": [] +} +Result: Errors:: +error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/different options with jsonSourceFile api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/different options with jsonSourceFile api.js new file mode 100644 index 0000000000000..c335b45b794da --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/different options with jsonSourceFile api.js @@ -0,0 +1,107 @@ +Input:: { + "watchOptions": { + "watchFile": "UseFsEvents" + } +} +Result: WatchOptions:: +{ + "watchFile": 4 +} +Result: Errors:: + +Input:: { + "watchOptions": { + "watchDirectory": "UseFsEvents" + } +} +Result: WatchOptions:: +{ + "watchDirectory": 0 +} +Result: Errors:: + +Input:: { + "watchOptions": { + "fallbackPolling": "DynamicPriority" + } +} +Result: WatchOptions:: +{ + "fallbackPolling": 2 +} +Result: Errors:: + +Input:: { + "watchOptions": { + "synchronousWatchDirectory": true + } +} +Result: WatchOptions:: +{ + "synchronousWatchDirectory": true +} +Result: Errors:: + +Input:: { + "watchOptions": { + "excludeDirectories": [ + "**/temp" + ] + } +} +Result: WatchOptions:: +{ + "excludeDirectories": [ + "/**/temp" + ] +} +Result: Errors:: + +Input:: { + "watchOptions": { + "excludeFiles": [ + "**/temp/*.ts" + ] + } +} +Result: WatchOptions:: +{ + "excludeFiles": [ + "/**/temp/*.ts" + ] +} +Result: Errors:: + +Input:: { + "watchOptions": { + "excludeDirectories": [ + "**/../*" + ] + } +} +Result: WatchOptions:: +{ + "excludeDirectories": [] +} +Result: Errors:: +tsconfig.json:1:40 - error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. + +1 {"watchOptions":{"excludeDirectories":["**/../*"]}} +   ~~~~~~~~~ + +Input:: { + "watchOptions": { + "excludeFiles": [ + "**/../*" + ] + } +} +Result: WatchOptions:: +{ + "excludeFiles": [] +} +Result: Errors:: +tsconfig.json:1:34 - error TS5065: File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '**/../*'. + +1 {"watchOptions":{"excludeFiles":["**/../*"]}} +   ~~~~~~~~~ diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/empty watchOptions specified option with json api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/empty watchOptions specified option with json api.js new file mode 100644 index 0000000000000..2087b9e744a7c --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/empty watchOptions specified option with json api.js @@ -0,0 +1,7 @@ +Input:: { + "watchOptions": {}, + "compileOnSave": false +} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/empty watchOptions specified option with jsonSourceFile api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/empty watchOptions specified option with jsonSourceFile api.js new file mode 100644 index 0000000000000..a25c30df65e04 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/empty watchOptions specified option with jsonSourceFile api.js @@ -0,0 +1,6 @@ +Input:: { + "watchOptions": {} +} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/no watchOptions specified option with json api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/no watchOptions specified option with json api.js new file mode 100644 index 0000000000000..b37ccbed5fdb3 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/no watchOptions specified option with json api.js @@ -0,0 +1,6 @@ +Input:: { + "compileOnSave": false +} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/no watchOptions specified option with jsonSourceFile api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/no watchOptions specified option with jsonSourceFile api.js new file mode 100644 index 0000000000000..4c0e952e8eaa9 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/no watchOptions specified option with jsonSourceFile api.js @@ -0,0 +1,4 @@ +Input:: {} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/watch options extending passed in watch options with json api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/watch options extending passed in watch options with json api.js new file mode 100644 index 0000000000000..8d535837e9f48 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/watch options extending passed in watch options with json api.js @@ -0,0 +1,18 @@ +Input:: { + "watchOptions": { + "watchFile": "UseFsEvents" + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "watchFile": 4 +} +Result: Errors:: + +Input:: { + "compileOnSave": false +} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/watch options extending passed in watch options with jsonSourceFile api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/watch options extending passed in watch options with jsonSourceFile api.js new file mode 100644 index 0000000000000..3cef381ecb232 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/watch options extending passed in watch options with jsonSourceFile api.js @@ -0,0 +1,15 @@ +Input:: { + "watchOptions": { + "watchFile": "UseFsEvents" + } +} +Result: WatchOptions:: +{ + "watchFile": 4 +} +Result: Errors:: + +Input:: {} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file with watchOptions with json api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file with watchOptions with json api.js new file mode 100644 index 0000000000000..919753d60dbf5 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file with watchOptions with json api.js @@ -0,0 +1,24 @@ +Input:: { + "extends": "./base.json", + "watchOptions": { + "watchFile": "UseFsEvents" + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "watchFile": 4, + "watchDirectory": 1 +} +Result: Errors:: + +Input:: { + "extends": "./base.json", + "compileOnSave": false +} +Result: WatchOptions:: +{ + "watchFile": 5, + "watchDirectory": 1 +} +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file with watchOptions with jsonSourceFile api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file with watchOptions with jsonSourceFile api.js new file mode 100644 index 0000000000000..9e02dd5173914 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file with watchOptions with jsonSourceFile api.js @@ -0,0 +1,22 @@ +Input:: { + "extends": "./base.json", + "watchOptions": { + "watchFile": "UseFsEvents" + } +} +Result: WatchOptions:: +{ + "watchFile": 4, + "watchDirectory": 1 +} +Result: Errors:: + +Input:: { + "extends": "./base.json" +} +Result: WatchOptions:: +{ + "watchFile": 5, + "watchDirectory": 1 +} +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file without watchOptions with json api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file without watchOptions with json api.js new file mode 100644 index 0000000000000..2414081976400 --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file without watchOptions with json api.js @@ -0,0 +1,20 @@ +Input:: { + "extends": "./base.json", + "watchOptions": { + "watchFile": "UseFsEvents" + }, + "compileOnSave": false +} +Result: WatchOptions:: +{ + "watchFile": 4 +} +Result: Errors:: + +Input:: { + "extends": "./base.json", + "compileOnSave": false +} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file without watchOptions with jsonSourceFile api.js b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file without watchOptions with jsonSourceFile api.js new file mode 100644 index 0000000000000..476bc99e4d83f --- /dev/null +++ b/tests/baselines/reference/config/tsconfigParsingWatchOptions/when extending config file without watchOptions with jsonSourceFile api.js @@ -0,0 +1,18 @@ +Input:: { + "extends": "./base.json", + "watchOptions": { + "watchFile": "UseFsEvents" + } +} +Result: WatchOptions:: +{ + "watchFile": 4 +} +Result: Errors:: + +Input:: { + "extends": "./base.json" +} +Result: WatchOptions:: + +Result: Errors:: diff --git a/tests/baselines/reference/contextualReturnTypeOfIIFE.js b/tests/baselines/reference/contextualReturnTypeOfIIFE.js index a742ee232fb3a..65ebbe6f83ef2 100644 --- a/tests/baselines/reference/contextualReturnTypeOfIIFE.js +++ b/tests/baselines/reference/contextualReturnTypeOfIIFE.js @@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.symbols b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.symbols new file mode 100644 index 0000000000000..81e0123470ef3 --- /dev/null +++ b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.symbols @@ -0,0 +1,67 @@ +=== tests/cases/compiler/contextualSignatureConditionalTypeInstantiationUsingDefault.ts === +// repro #46310 + +export interface TypegenDisabled { +>TypegenDisabled : Symbol(TypegenDisabled, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 0, 0)) + + "@@xstate/typegen": false; +>"@@xstate/typegen" : Symbol(TypegenDisabled["@@xstate/typegen"], Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 2, 34)) +} +export interface TypegenEnabled { +>TypegenEnabled : Symbol(TypegenEnabled, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 4, 1)) + + "@@xstate/typegen": true; +>"@@xstate/typegen" : Symbol(TypegenEnabled["@@xstate/typegen"], Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 5, 33)) +} + +type ActionFunction = (event: TEvent) => void; +>ActionFunction : Symbol(ActionFunction, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 7, 1)) +>TEvent : Symbol(TEvent, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 9, 20)) +>type : Symbol(type, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 9, 36)) +>event : Symbol(event, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 9, 56)) +>TEvent : Symbol(TEvent, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 9, 20)) + +declare function createMachine< +>createMachine : Symbol(createMachine, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 9, 79)) + + TTypesMeta extends TypegenEnabled | TypegenDisabled = TypegenDisabled +>TTypesMeta : Symbol(TTypesMeta, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 11, 31)) +>TypegenEnabled : Symbol(TypegenEnabled, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 4, 1)) +>TypegenDisabled : Symbol(TypegenDisabled, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 0, 0)) +>TypegenDisabled : Symbol(TypegenDisabled, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 0, 0)) + +>( + config: { +>config : Symbol(config, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 13, 2)) + + types?: TTypesMeta; +>types : Symbol(types, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 14, 11)) +>TTypesMeta : Symbol(TTypesMeta, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 11, 31)) + + }, + implementations: TTypesMeta extends TypegenEnabled +>implementations : Symbol(implementations, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 16, 4)) +>TTypesMeta : Symbol(TTypesMeta, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 11, 31)) +>TypegenEnabled : Symbol(TypegenEnabled, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 4, 1)) + + ? ActionFunction<{ type: "test" }> +>ActionFunction : Symbol(ActionFunction, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 7, 1)) +>type : Symbol(type, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 18, 22)) + + : ActionFunction<{ type: string }> +>ActionFunction : Symbol(ActionFunction, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 7, 1)) +>type : Symbol(type, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 19, 22)) + +): void; + +createMachine({}, (ev) => { +>createMachine : Symbol(createMachine, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 9, 79)) +>ev : Symbol(ev, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 22, 19)) + + ev.type; // should be `string` +>ev.type : Symbol(type, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 19, 22)) +>ev : Symbol(ev, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 22, 19)) +>type : Symbol(type, Decl(contextualSignatureConditionalTypeInstantiationUsingDefault.ts, 19, 22)) + +}); + diff --git a/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types new file mode 100644 index 0000000000000..b98593ef5bd56 --- /dev/null +++ b/tests/baselines/reference/contextualSignatureConditionalTypeInstantiationUsingDefault.types @@ -0,0 +1,56 @@ +=== tests/cases/compiler/contextualSignatureConditionalTypeInstantiationUsingDefault.ts === +// repro #46310 + +export interface TypegenDisabled { + "@@xstate/typegen": false; +>"@@xstate/typegen" : false +>false : false +} +export interface TypegenEnabled { + "@@xstate/typegen": true; +>"@@xstate/typegen" : true +>true : true +} + +type ActionFunction = (event: TEvent) => void; +>ActionFunction : ActionFunction +>type : string +>event : TEvent + +declare function createMachine< +>createMachine : (config: { types?: TTypesMeta;}, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test";}> : ActionFunction<{ type: string;}>) => void + + TTypesMeta extends TypegenEnabled | TypegenDisabled = TypegenDisabled +>( + config: { +>config : { types?: TTypesMeta | undefined; } + + types?: TTypesMeta; +>types : TTypesMeta | undefined + + }, + implementations: TTypesMeta extends TypegenEnabled +>implementations : TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }> + + ? ActionFunction<{ type: "test" }> +>type : "test" + + : ActionFunction<{ type: string }> +>type : string + +): void; + +createMachine({}, (ev) => { +>createMachine({}, (ev) => { ev.type; // should be `string`}) : void +>createMachine : (config: { types?: TTypesMeta | undefined; }, implementations: TTypesMeta extends TypegenEnabled ? ActionFunction<{ type: "test"; }> : ActionFunction<{ type: string; }>) => void +>{} : {} +>(ev) => { ev.type; // should be `string`} : (ev: { type: string; }) => void +>ev : { type: string; } + + ev.type; // should be `string` +>ev.type : string +>ev : { type: string; } +>type : string + +}); + diff --git a/tests/baselines/reference/continueInIterationStatement1.symbols b/tests/baselines/reference/continueInIterationStatement1.symbols index 210de69f6bbe7..53b60db70d755 100644 --- a/tests/baselines/reference/continueInIterationStatement1.symbols +++ b/tests/baselines/reference/continueInIterationStatement1.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/continueInIterationStatement1.ts === + while (true) { -No type information for this code. continue; -No type information for this code.} -No type information for this code. \ No newline at end of file + continue; +} diff --git a/tests/baselines/reference/continueInIterationStatement2.symbols b/tests/baselines/reference/continueInIterationStatement2.symbols index 5cb4b62f39a14..7d7087917fcf3 100644 --- a/tests/baselines/reference/continueInIterationStatement2.symbols +++ b/tests/baselines/reference/continueInIterationStatement2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/continueInIterationStatement2.ts === + do { -No type information for this code. continue; -No type information for this code.} -No type information for this code.while (true); -No type information for this code. \ No newline at end of file + continue; +} +while (true); diff --git a/tests/baselines/reference/continueInIterationStatement3.symbols b/tests/baselines/reference/continueInIterationStatement3.symbols index f4df3a295fbb9..3af59882ccc53 100644 --- a/tests/baselines/reference/continueInIterationStatement3.symbols +++ b/tests/baselines/reference/continueInIterationStatement3.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/continueInIterationStatement3.ts === + for (;;) { -No type information for this code. continue; -No type information for this code.} -No type information for this code. \ No newline at end of file + continue; +} diff --git a/tests/baselines/reference/continueInIterationStatement3.types b/tests/baselines/reference/continueInIterationStatement3.types index f4df3a295fbb9..3af59882ccc53 100644 --- a/tests/baselines/reference/continueInIterationStatement3.types +++ b/tests/baselines/reference/continueInIterationStatement3.types @@ -1,5 +1,5 @@ === tests/cases/compiler/continueInIterationStatement3.ts === + for (;;) { -No type information for this code. continue; -No type information for this code.} -No type information for this code. \ No newline at end of file + continue; +} diff --git a/tests/baselines/reference/continueNotInIterationStatement1.symbols b/tests/baselines/reference/continueNotInIterationStatement1.symbols index 97fbe3a3d8515..e971bae84bd70 100644 --- a/tests/baselines/reference/continueNotInIterationStatement1.symbols +++ b/tests/baselines/reference/continueNotInIterationStatement1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/continueNotInIterationStatement1.ts === + continue; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueNotInIterationStatement1.types b/tests/baselines/reference/continueNotInIterationStatement1.types index 97fbe3a3d8515..e971bae84bd70 100644 --- a/tests/baselines/reference/continueNotInIterationStatement1.types +++ b/tests/baselines/reference/continueNotInIterationStatement1.types @@ -1,3 +1,3 @@ === tests/cases/compiler/continueNotInIterationStatement1.ts === + continue; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/continueNotInIterationStatement3.symbols b/tests/baselines/reference/continueNotInIterationStatement3.symbols index caca2c9951610..9a4823d128922 100644 --- a/tests/baselines/reference/continueNotInIterationStatement3.symbols +++ b/tests/baselines/reference/continueNotInIterationStatement3.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/continueNotInIterationStatement3.ts === + switch (0) { -No type information for this code. default: -No type information for this code. continue; -No type information for this code.} -No type information for this code. \ No newline at end of file + default: + continue; +} diff --git a/tests/baselines/reference/continueStatementInternalComments.symbols b/tests/baselines/reference/continueStatementInternalComments.symbols index 51b8189ab164c..1a6a721df325c 100644 --- a/tests/baselines/reference/continueStatementInternalComments.symbols +++ b/tests/baselines/reference/continueStatementInternalComments.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/continueStatementInternalComments.ts === + foo: for (;;) { -No type information for this code. /*1*/ continue /*2*/ foo /*3*/; -No type information for this code.} -No type information for this code. \ No newline at end of file + /*1*/ continue /*2*/ foo /*3*/; +} diff --git a/tests/baselines/reference/continueTarget1.symbols b/tests/baselines/reference/continueTarget1.symbols index fbd968e19a66c..6ef0d21b4c83c 100644 --- a/tests/baselines/reference/continueTarget1.symbols +++ b/tests/baselines/reference/continueTarget1.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/continueTarget1.ts === + target: -No type information for this code. continue target; -No type information for this code. \ No newline at end of file + continue target; diff --git a/tests/baselines/reference/continueTarget2.symbols b/tests/baselines/reference/continueTarget2.symbols index 16f45c402cdac..2b1bde22a726d 100644 --- a/tests/baselines/reference/continueTarget2.symbols +++ b/tests/baselines/reference/continueTarget2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/continueTarget2.ts === + target: -No type information for this code.while (true) { -No type information for this code. continue target; -No type information for this code.} -No type information for this code. \ No newline at end of file +while (true) { + continue target; +} diff --git a/tests/baselines/reference/continueTarget3.symbols b/tests/baselines/reference/continueTarget3.symbols index a1b930f2f5ac2..16bcc76d8f352 100644 --- a/tests/baselines/reference/continueTarget3.symbols +++ b/tests/baselines/reference/continueTarget3.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/continueTarget3.ts === + target1: -No type information for this code.target2: -No type information for this code.while (true) { -No type information for this code. continue target1; -No type information for this code.} -No type information for this code. \ No newline at end of file +target2: +while (true) { + continue target1; +} diff --git a/tests/baselines/reference/continueTarget4.symbols b/tests/baselines/reference/continueTarget4.symbols index ea1989a3e4d22..c199bdb2ca064 100644 --- a/tests/baselines/reference/continueTarget4.symbols +++ b/tests/baselines/reference/continueTarget4.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/continueTarget4.ts === + target1: -No type information for this code.target2: -No type information for this code.while (true) { -No type information for this code. continue target2; -No type information for this code.} -No type information for this code. \ No newline at end of file +target2: +while (true) { + continue target2; +} diff --git a/tests/baselines/reference/continueTarget6.symbols b/tests/baselines/reference/continueTarget6.symbols index d7ce40115828f..8f0de7b52a6c5 100644 --- a/tests/baselines/reference/continueTarget6.symbols +++ b/tests/baselines/reference/continueTarget6.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/continueTarget6.ts === + while (true) { -No type information for this code. continue target; -No type information for this code.} -No type information for this code. \ No newline at end of file + continue target; +} diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.errors.txt b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.errors.txt new file mode 100644 index 0000000000000..dbc664da588da --- /dev/null +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.errors.txt @@ -0,0 +1,39 @@ +tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts(16,1): error TS2454: Variable 'a' is used before being assigned. +tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts(17,1): error TS2454: Variable 'b' is used before being assigned. +tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts(18,1): error TS2454: Variable 'c' is used before being assigned. +tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts(19,1): error TS2454: Variable 'd' is used before being assigned. +tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts(20,1): error TS2454: Variable 'e' is used before being assigned. + + +==== tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts (5 errors) ==== + declare function f1(): string; + declare function f2(): [b: string]; + declare function f3(): { c: string }; + + try { + var a = f1(); + var [b] = f2(); + var { c } = f3(); + + var [d = 1] = []; + var { e = 1 } = { }; + } catch { + console.error("error"); + } + + a; + ~ +!!! error TS2454: Variable 'a' is used before being assigned. + b; + ~ +!!! error TS2454: Variable 'b' is used before being assigned. + c; + ~ +!!! error TS2454: Variable 'c' is used before being assigned. + d; + ~ +!!! error TS2454: Variable 'd' is used before being assigned. + e; + ~ +!!! error TS2454: Variable 'e' is used before being assigned. + \ No newline at end of file diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.js b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.js new file mode 100644 index 0000000000000..a64aba170d6dd --- /dev/null +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.js @@ -0,0 +1,40 @@ +//// [controlFlowDestructuringVariablesInTryCatch.ts] +declare function f1(): string; +declare function f2(): [b: string]; +declare function f3(): { c: string }; + +try { + var a = f1(); + var [b] = f2(); + var { c } = f3(); + + var [d = 1] = []; + var { e = 1 } = { }; +} catch { + console.error("error"); +} + +a; +b; +c; +d; +e; + + +//// [controlFlowDestructuringVariablesInTryCatch.js] +"use strict"; +try { + var a = f1(); + var b = f2()[0]; + var c = f3().c; + var _a = [][0], d = _a === void 0 ? 1 : _a; + var _b = {}.e, e = _b === void 0 ? 1 : _b; +} +catch (_c) { + console.error("error"); +} +a; +b; +c; +d; +e; diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.symbols b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.symbols new file mode 100644 index 0000000000000..c41f27f9ef62f --- /dev/null +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.symbols @@ -0,0 +1,52 @@ +=== tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts === +declare function f1(): string; +>f1 : Symbol(f1, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 0, 0)) + +declare function f2(): [b: string]; +>f2 : Symbol(f2, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 0, 30)) + +declare function f3(): { c: string }; +>f3 : Symbol(f3, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 1, 35)) +>c : Symbol(c, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 2, 24)) + +try { + var a = f1(); +>a : Symbol(a, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 5, 7)) +>f1 : Symbol(f1, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 0, 0)) + + var [b] = f2(); +>b : Symbol(b, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 6, 9)) +>f2 : Symbol(f2, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 0, 30)) + + var { c } = f3(); +>c : Symbol(c, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 7, 9)) +>f3 : Symbol(f3, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 1, 35)) + + var [d = 1] = []; +>d : Symbol(d, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 9, 9)) + + var { e = 1 } = { }; +>e : Symbol(e, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 10, 9)) + +} catch { + console.error("error"); +>console.error : Symbol(Console.error, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>error : Symbol(Console.error, Decl(lib.dom.d.ts, --, --)) +} + +a; +>a : Symbol(a, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 5, 7)) + +b; +>b : Symbol(b, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 6, 9)) + +c; +>c : Symbol(c, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 7, 9)) + +d; +>d : Symbol(d, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 9, 9)) + +e; +>e : Symbol(e, Decl(controlFlowDestructuringVariablesInTryCatch.ts, 10, 9)) + diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types new file mode 100644 index 0000000000000..2cf5b8d5ec372 --- /dev/null +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types @@ -0,0 +1,61 @@ +=== tests/cases/compiler/controlFlowDestructuringVariablesInTryCatch.ts === +declare function f1(): string; +>f1 : () => string + +declare function f2(): [b: string]; +>f2 : () => [b: string] + +declare function f3(): { c: string }; +>f3 : () => { c: string; } +>c : string + +try { + var a = f1(); +>a : string +>f1() : string +>f1 : () => string + + var [b] = f2(); +>b : string +>f2() : [b: string] +>f2 : () => [b: string] + + var { c } = f3(); +>c : string +>f3() : { c: string; } +>f3 : () => { c: string; } + + var [d = 1] = []; +>d : number +>1 : 1 +>[] : [] + + var { e = 1 } = { }; +>e : number +>1 : 1 +>{ } : { e?: number | undefined; } + +} catch { + console.error("error"); +>console.error("error") : void +>console.error : (...data: any[]) => void +>console : Console +>error : (...data: any[]) => void +>"error" : "error" +} + +a; +>a : string + +b; +>b : string + +c; +>c : string + +d; +>d : number + +e; +>e : number + diff --git a/tests/baselines/reference/controlFlowForCatchAndFinally.js b/tests/baselines/reference/controlFlowForCatchAndFinally.js index 48075ffb6b456..030242954aa4a 100644 --- a/tests/baselines/reference/controlFlowForCatchAndFinally.js +++ b/tests/baselines/reference/controlFlowForCatchAndFinally.js @@ -57,7 +57,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.js b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.js new file mode 100644 index 0000000000000..843b6939b2562 --- /dev/null +++ b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.js @@ -0,0 +1,11 @@ +//// [controlFlowInitializedDestructuringVariables.ts] +declare const obj: { a?: string, b?: number }; +const { + a = "0", + b = +a, +} = obj; + + +//// [controlFlowInitializedDestructuringVariables.js] +"use strict"; +var _a = obj.a, a = _a === void 0 ? "0" : _a, _b = obj.b, b = _b === void 0 ? +a : _b; diff --git a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.symbols b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.symbols new file mode 100644 index 0000000000000..f664c9db2b9d0 --- /dev/null +++ b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/controlFlowInitializedDestructuringVariables.ts === +declare const obj: { a?: string, b?: number }; +>obj : Symbol(obj, Decl(controlFlowInitializedDestructuringVariables.ts, 0, 13)) +>a : Symbol(a, Decl(controlFlowInitializedDestructuringVariables.ts, 0, 20)) +>b : Symbol(b, Decl(controlFlowInitializedDestructuringVariables.ts, 0, 32)) + +const { + a = "0", +>a : Symbol(a, Decl(controlFlowInitializedDestructuringVariables.ts, 1, 7)) + + b = +a, +>b : Symbol(b, Decl(controlFlowInitializedDestructuringVariables.ts, 2, 12)) +>a : Symbol(a, Decl(controlFlowInitializedDestructuringVariables.ts, 1, 7)) + +} = obj; +>obj : Symbol(obj, Decl(controlFlowInitializedDestructuringVariables.ts, 0, 13)) + diff --git a/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types new file mode 100644 index 0000000000000..8c64c50a3275c --- /dev/null +++ b/tests/baselines/reference/controlFlowInitializedDestructuringVariables.types @@ -0,0 +1,19 @@ +=== tests/cases/compiler/controlFlowInitializedDestructuringVariables.ts === +declare const obj: { a?: string, b?: number }; +>obj : { a?: string | undefined; b?: number | undefined; } +>a : string | undefined +>b : number | undefined + +const { + a = "0", +>a : string +>"0" : "0" + + b = +a, +>b : number +>+a : number +>a : string + +} = obj; +>obj : { a?: string | undefined; b?: number | undefined; } + diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.js b/tests/baselines/reference/correctOrderOfPromiseMethod.js index 81a91ba06fd81..5cfa948d9bfda 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.js +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.js @@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/declarationEmitAliasExportStar.symbols b/tests/baselines/reference/declarationEmitAliasExportStar.symbols index 8f86cf3dc8cdb..c0f86795a1c45 100644 --- a/tests/baselines/reference/declarationEmitAliasExportStar.symbols +++ b/tests/baselines/reference/declarationEmitAliasExportStar.symbols @@ -3,8 +3,9 @@ export interface ThingB { } >ThingB : Symbol(ThingB, Decl(thingB.ts, 0, 0)) === tests/cases/compiler/things.ts === + export * from "./thingB"; -No type information for this code.=== tests/cases/compiler/index.ts === +=== tests/cases/compiler/index.ts === import * as things from "./things"; >things : Symbol(things, Decl(index.ts, 0, 6)) diff --git a/tests/baselines/reference/declarationEmitAliasExportStar.types b/tests/baselines/reference/declarationEmitAliasExportStar.types index 631d3ac1b5de7..3ce1e303d0ee8 100644 --- a/tests/baselines/reference/declarationEmitAliasExportStar.types +++ b/tests/baselines/reference/declarationEmitAliasExportStar.types @@ -1,8 +1,10 @@ === tests/cases/compiler/thingB.ts === + export interface ThingB { } -No type information for this code.=== tests/cases/compiler/things.ts === +=== tests/cases/compiler/things.ts === + export * from "./thingB"; -No type information for this code.=== tests/cases/compiler/index.ts === +=== tests/cases/compiler/index.ts === import * as things from "./things"; >things : typeof things diff --git a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types index 2161bb9afc1b4..0d38abc11b0c8 100644 --- a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types +++ b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types @@ -1,4 +1,4 @@ === tests/cases/compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts === + interface A extends Array { } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/declarationEmitBundlePreservesHasNoDefaultLibDirective.types b/tests/baselines/reference/declarationEmitBundlePreservesHasNoDefaultLibDirective.types index 3c89d94b04344..33066bd8b0c95 100644 --- a/tests/baselines/reference/declarationEmitBundlePreservesHasNoDefaultLibDirective.types +++ b/tests/baselines/reference/declarationEmitBundlePreservesHasNoDefaultLibDirective.types @@ -7,13 +7,13 @@ class Foo { >public : string } === tests/cases/compiler/core.ts === + interface Array {} -No type information for this code.interface Boolean {} -No type information for this code.interface Function {} -No type information for this code.interface IArguments {} -No type information for this code.interface Number {} -No type information for this code.interface Object {} -No type information for this code.interface RegExp {} -No type information for this code.interface String {} -No type information for this code. -No type information for this code. \ No newline at end of file +interface Boolean {} +interface Function {} +interface IArguments {} +interface Number {} +interface Object {} +interface RegExp {} +interface String {} + diff --git a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types index 9c9aee08433db..94c902c5ce731 100644 --- a/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types +++ b/tests/baselines/reference/declarationEmitCommonJsModuleReferencedType.types @@ -1,10 +1,13 @@ === tests/cases/compiler/r/node_modules/foo/node_modules/nested/index.d.ts === + export interface NestedProps {} -No type information for this code.=== tests/cases/compiler/r/node_modules/foo/other/index.d.ts === +=== tests/cases/compiler/r/node_modules/foo/other/index.d.ts === + export interface OtherIndexProps {} -No type information for this code.=== tests/cases/compiler/r/node_modules/foo/other.d.ts === +=== tests/cases/compiler/r/node_modules/foo/other.d.ts === + export interface OtherProps {} -No type information for this code.=== tests/cases/compiler/r/node_modules/foo/index.d.ts === +=== tests/cases/compiler/r/node_modules/foo/index.d.ts === import { OtherProps } from "./other"; >OtherProps : any diff --git a/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.symbols b/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.symbols index baa1d95cce7a9..bb1a545b9fa30 100644 --- a/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.symbols +++ b/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.symbols @@ -1,8 +1,10 @@ === /a/index.ts === + export * from "./src/" -No type information for this code.=== /b/index.ts === +=== /b/index.ts === + export * from "./src/" -No type information for this code.=== /b/src/index.ts === +=== /b/src/index.ts === export class B {} >B : Symbol(B, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.types b/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.types index a0218c7fe7f81..46ddc25957be7 100644 --- a/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.types +++ b/tests/baselines/reference/declarationEmitCommonSourceDirectoryDoesNotContainAllFiles.types @@ -1,8 +1,10 @@ === /a/index.ts === + export * from "./src/" -No type information for this code.=== /b/index.ts === +=== /b/index.ts === + export * from "./src/" -No type information for this code.=== /b/src/index.ts === +=== /b/src/index.ts === export class B {} >B : B diff --git a/tests/baselines/reference/declarationEmitDefaultExport2.symbols b/tests/baselines/reference/declarationEmitDefaultExport2.symbols index b82e6cfb92376..ec4504822ffee 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport2.symbols +++ b/tests/baselines/reference/declarationEmitDefaultExport2.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/declarationEmitDefaultExport2.ts === + export default class { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/declarationEmitDefaultExport2.types b/tests/baselines/reference/declarationEmitDefaultExport2.types index b82e6cfb92376..ec4504822ffee 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport2.types +++ b/tests/baselines/reference/declarationEmitDefaultExport2.types @@ -1,4 +1,4 @@ === tests/cases/compiler/declarationEmitDefaultExport2.ts === + export default class { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/declarationEmitDefaultExport4.symbols b/tests/baselines/reference/declarationEmitDefaultExport4.symbols index 8043af36b7620..a1d2319a0f581 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport4.symbols +++ b/tests/baselines/reference/declarationEmitDefaultExport4.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/declarationEmitDefaultExport4.ts === + export default function () { -No type information for this code. return 1; -No type information for this code.} -No type information for this code. \ No newline at end of file + return 1; +} diff --git a/tests/baselines/reference/declarationEmitDefaultExport5.symbols b/tests/baselines/reference/declarationEmitDefaultExport5.symbols index 2ede4a5941a71..7ea8116331ae8 100644 --- a/tests/baselines/reference/declarationEmitDefaultExport5.symbols +++ b/tests/baselines/reference/declarationEmitDefaultExport5.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/declarationEmitDefaultExport5.ts === + export default 1 + 2; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols index a45ecb2e47e41..c104564adf290 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/pi.ts === + export default 3.14159; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types index a45ecb2e47e41..c104564adf290 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarName.types @@ -1,3 +1,3 @@ === tests/cases/compiler/pi.ts === + export default 3.14159; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols index a45ecb2e47e41..c104564adf290 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/pi.ts === + export default 3.14159; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types index a45ecb2e47e41..c104564adf290 100644 --- a/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types +++ b/tests/baselines/reference/declarationEmitDefaultExportWithTempVarNameWithBundling.types @@ -1,3 +1,3 @@ === tests/cases/compiler/pi.ts === + export default 3.14159; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.symbols b/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.symbols index 87304e8e84fa2..a3c98684b4ce4 100644 --- a/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.symbols +++ b/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.symbols @@ -66,6 +66,6 @@ export const obj = { >getComp : Symbol(getComp, Decl(inferred-comp-export.ts, 0, 8)) } === tests/cases/compiler/src/some-other-file.ts === + export * from '@emotion/core'; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types b/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types index c3232b4406e0c..77105a8482e1f 100644 --- a/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types +++ b/tests/baselines/reference/declarationEmitExportAssignedNamespaceNoTripleSlashTypesReference.types @@ -56,6 +56,6 @@ export const obj = { >getComp : () => import("tests/cases/compiler/node_modules/@types/react/index").Component } === tests/cases/compiler/src/some-other-file.ts === + export * from '@emotion/core'; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends7.symbols b/tests/baselines/reference/declarationEmitExpressionInExtends7.symbols index a81c2cc3871ee..13b1d85f8975a 100644 --- a/tests/baselines/reference/declarationEmitExpressionInExtends7.symbols +++ b/tests/baselines/reference/declarationEmitExpressionInExtends7.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/declarationEmitExpressionInExtends7.ts === + export default class extends SomeUndefinedFunction {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols index fa0a8593339ec..f5a8d98c03ebd 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols @@ -10,8 +10,9 @@ export enum A { >Val : Symbol(A.Val, Decl(impl.d.ts, 1, 15)) } === /p1/node_modules/typescript-fsa/index.d.ts === + export * from "./src/impl"; -No type information for this code.=== /p2/node_modules/typescript-fsa/src/impl.d.ts === +=== /p2/node_modules/typescript-fsa/src/impl.d.ts === export function getA(): A; >getA : Symbol(getA, Decl(impl.d.ts, 0, 0)) >A : Symbol(A, Decl(impl.d.ts, 0, 26)) @@ -23,8 +24,9 @@ export enum A { >Val : Symbol(A.Val, Decl(impl.d.ts, 1, 15)) } === /p2/node_modules/typescript-fsa/index.d.ts === + export * from "./src/impl"; -No type information for this code.=== /p1/index.ts === +=== /p1/index.ts === import * as _whatever from "p2"; >_whatever : Symbol(_whatever, Decl(index.ts, 0, 6)) diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types index 3f62193fd83cb..b42d42019b48a 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types @@ -9,8 +9,9 @@ export enum A { >Val : A } === /p1/node_modules/typescript-fsa/index.d.ts === + export * from "./src/impl"; -No type information for this code.=== /p2/node_modules/typescript-fsa/src/impl.d.ts === +=== /p2/node_modules/typescript-fsa/src/impl.d.ts === export function getA(): A; >getA : () => A @@ -21,8 +22,9 @@ export enum A { >Val : A } === /p2/node_modules/typescript-fsa/index.d.ts === + export * from "./src/impl"; -No type information for this code.=== /p1/index.ts === +=== /p1/index.ts === import * as _whatever from "p2"; >_whatever : typeof _whatever diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols index e183f07d5589d..65ed820d836a9 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols @@ -10,8 +10,9 @@ export enum A { >Val : Symbol(A.Val, Decl(impl.d.ts, 1, 15)) } === /cache/typescript-fsa/index.d.ts === + export * from "./src/impl"; -No type information for this code.=== /p1/index.ts === +=== /p1/index.ts === import * as _whatever from "p2"; >_whatever : Symbol(_whatever, Decl(index.ts, 0, 6)) diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types index 7c214ced6b63e..a52f51708abeb 100644 --- a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types @@ -9,8 +9,9 @@ export enum A { >Val : A } === /cache/typescript-fsa/index.d.ts === + export * from "./src/impl"; -No type information for this code.=== /p1/index.ts === +=== /p1/index.ts === import * as _whatever from "p2"; >_whatever : typeof _whatever diff --git a/tests/baselines/reference/declarationEmitHasTypesRefOnNamespaceUse.types b/tests/baselines/reference/declarationEmitHasTypesRefOnNamespaceUse.types index 269d4566011d8..bd0d20458a3e0 100644 --- a/tests/baselines/reference/declarationEmitHasTypesRefOnNamespaceUse.types +++ b/tests/baselines/reference/declarationEmitHasTypesRefOnNamespaceUse.types @@ -4,8 +4,8 @@ class Src implements NS.Dep { } >NS : any === /deps/dep/dep.d.ts === + declare namespace NS { -No type information for this code. interface Dep { -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file + interface Dep { + } +} diff --git a/tests/baselines/reference/declarationEmitPrivateAsync.js b/tests/baselines/reference/declarationEmitPrivateAsync.js index f10376c24b0f5..0ac83048dd26e 100644 --- a/tests/baselines/reference/declarationEmitPrivateAsync.js +++ b/tests/baselines/reference/declarationEmitPrivateAsync.js @@ -22,7 +22,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.symbols b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.symbols index 4006ea88a86e1..b02947b32c895 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.symbols +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.symbols @@ -1,6 +1,7 @@ === tests/cases/compiler/monorepo/pkg1/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === export declare type A = { >A : Symbol(A, Decl(types.d.ts, 0, 0)) @@ -46,12 +47,15 @@ export declare class MetadataAccessor { >D : Symbol(D, Decl(types.d.ts, 11, 20)) } === tests/cases/compiler/monorepo/pkg2/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === + export * from '@raymondfeng/pkg1'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/index.ts === +=== tests/cases/compiler/monorepo/pkg3/src/index.ts === + export * from './keys'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === +=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === import {MetadataAccessor} from "@raymondfeng/pkg2"; >MetadataAccessor : Symbol(MetadataAccessor, Decl(keys.ts, 0, 8)) diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types index 0ed089b529a91..3a90e76d07ffe 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference.types @@ -1,6 +1,7 @@ === tests/cases/compiler/monorepo/pkg1/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === export declare type A = { >A : { id: string; } @@ -33,12 +34,15 @@ export declare class MetadataAccessor { >key : string } === tests/cases/compiler/monorepo/pkg2/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === + export * from '@raymondfeng/pkg1'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/index.ts === +=== tests/cases/compiler/monorepo/pkg3/src/index.ts === + export * from './keys'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === +=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === import {MetadataAccessor} from "@raymondfeng/pkg2"; >MetadataAccessor : typeof MetadataAccessor diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.symbols b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.symbols index 683969e356f33..c8a7ebb9ed126 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.symbols +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.symbols @@ -1,6 +1,7 @@ === tests/cases/compiler/monorepo/pkg1/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === export declare type A = { >A : Symbol(A, Decl(types.d.ts, 0, 0)) @@ -46,9 +47,10 @@ export declare class MetadataAccessor { >D : Symbol(D, Decl(types.d.ts, 11, 20)) } === tests/cases/compiler/monorepo/pkg2/dist/index.d.ts === + import "./secondary"; -No type information for this code.export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === +export * from './types'; +=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === export {MetadataAccessor} from '@raymondfeng/pkg1'; >MetadataAccessor : Symbol(MetadataAccessor, Decl(types.d.ts, 0, 8)) @@ -57,8 +59,9 @@ export {IdType} from '@raymondfeng/pkg1'; >IdType : Symbol(IdType, Decl(secondary.d.ts, 0, 8)) === tests/cases/compiler/monorepo/pkg3/src/index.ts === + export * from './keys'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === +=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === import {MetadataAccessor} from "@raymondfeng/pkg2"; >MetadataAccessor : Symbol(MetadataAccessor, Decl(keys.ts, 0, 8)) diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types index e52c244ccc5a4..41d8eaf175b00 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference2.types @@ -1,6 +1,7 @@ === tests/cases/compiler/monorepo/pkg1/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === export declare type A = { >A : { id: string; } @@ -33,9 +34,10 @@ export declare class MetadataAccessor { >key : string } === tests/cases/compiler/monorepo/pkg2/dist/index.d.ts === + import "./secondary"; -No type information for this code.export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === +export * from './types'; +=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === export {MetadataAccessor} from '@raymondfeng/pkg1'; >MetadataAccessor : typeof import("tests/cases/compiler/monorepo/pkg1/dist/index").MetadataAccessor @@ -44,8 +46,9 @@ export {IdType} from '@raymondfeng/pkg1'; >IdType : any === tests/cases/compiler/monorepo/pkg3/src/index.ts === + export * from './keys'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === +=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === import {MetadataAccessor} from "@raymondfeng/pkg2"; >MetadataAccessor : typeof MetadataAccessor diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.symbols b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.symbols index df33b515a8d44..231f147baa7bd 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.symbols +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.symbols @@ -1,6 +1,7 @@ === tests/cases/compiler/monorepo/pkg1/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === export declare type A = { >A : Symbol(A, Decl(types.d.ts, 0, 0)) @@ -46,14 +47,16 @@ export declare class MetadataAccessor { >D : Symbol(D, Decl(types.d.ts, 11, 20)) } === tests/cases/compiler/monorepo/pkg2/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === export {MetadataAccessor} from '@raymondfeng/pkg1'; >MetadataAccessor : Symbol(MetadataAccessor, Decl(types.d.ts, 0, 8)) === tests/cases/compiler/monorepo/pkg3/src/index.ts === + export * from './keys'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === +=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === import {MetadataAccessor} from "@raymondfeng/pkg2"; >MetadataAccessor : Symbol(MetadataAccessor, Decl(keys.ts, 0, 8)) diff --git a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types index 06272b7baa950..46bc272376aed 100644 --- a/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types +++ b/tests/baselines/reference/declarationEmitReexportedSymlinkReference3.types @@ -1,6 +1,7 @@ === tests/cases/compiler/monorepo/pkg1/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg1/dist/types.d.ts === export declare type A = { >A : { id: string; } @@ -33,14 +34,16 @@ export declare class MetadataAccessor { >key : string } === tests/cases/compiler/monorepo/pkg2/dist/index.d.ts === + export * from './types'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === +=== tests/cases/compiler/monorepo/pkg2/dist/types.d.ts === export {MetadataAccessor} from '@raymondfeng/pkg1'; >MetadataAccessor : typeof import("tests/cases/compiler/monorepo/pkg1/dist/index").MetadataAccessor === tests/cases/compiler/monorepo/pkg3/src/index.ts === + export * from './keys'; -No type information for this code.=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === +=== tests/cases/compiler/monorepo/pkg3/src/keys.ts === import {MetadataAccessor} from "@raymondfeng/pkg2"; >MetadataAccessor : typeof MetadataAccessor diff --git a/tests/baselines/reference/declarationFilesGeneratingTypeReferences.types b/tests/baselines/reference/declarationFilesGeneratingTypeReferences.types index 0c31c9dac292b..c788eb1477829 100644 --- a/tests/baselines/reference/declarationFilesGeneratingTypeReferences.types +++ b/tests/baselines/reference/declarationFilesGeneratingTypeReferences.types @@ -1,9 +1,10 @@ === /a/node_modules/@types/jquery/index.d.ts === + interface JQuery { -No type information for this code. -No type information for this code.} -No type information for this code. -No type information for this code.=== /a/app.ts === + +} + +=== /a/app.ts === /// namespace Test { >Test : typeof Test diff --git a/tests/baselines/reference/declareDottedModuleName.types b/tests/baselines/reference/declareDottedModuleName.types index bdb395713f979..c35460a8c07e3 100644 --- a/tests/baselines/reference/declareDottedModuleName.types +++ b/tests/baselines/reference/declareDottedModuleName.types @@ -1,12 +1,12 @@ === tests/cases/compiler/declareDottedModuleName.ts === + module M { -No type information for this code. module P.Q { } // This shouldnt be emitted -No type information for this code.} -No type information for this code. -No type information for this code.module M { -No type information for this code. export module R.S { } //This should be emitted -No type information for this code.} -No type information for this code. -No type information for this code.module T.U { // This needs to be emitted -No type information for this code.} -No type information for this code. \ No newline at end of file + module P.Q { } // This shouldnt be emitted +} + +module M { + export module R.S { } //This should be emitted +} + +module T.U { // This needs to be emitted +} diff --git a/tests/baselines/reference/destructureOfVariableSameAsShorthand.js b/tests/baselines/reference/destructureOfVariableSameAsShorthand.js index 2adf58de84bf0..e73c3f267929f 100644 --- a/tests/baselines/reference/destructureOfVariableSameAsShorthand.js +++ b/tests/baselines/reference/destructureOfVariableSameAsShorthand.js @@ -42,7 +42,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/destructuringControlFlowNoCrash.js b/tests/baselines/reference/destructuringControlFlowNoCrash.js index 0b7de9ee8e4ed..449ff0aaacbd3 100644 --- a/tests/baselines/reference/destructuringControlFlowNoCrash.js +++ b/tests/baselines/reference/destructuringControlFlowNoCrash.js @@ -33,7 +33,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt index 3f893a65b82af..c8f9fd6b305e7 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt @@ -41,7 +41,7 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration4.ts( a1(...array2); // Error parameter type is (number|string)[] ~~~~~~ !!! error TS2552: Cannot find name 'array2'. Did you mean 'Array'? -!!! related TS2728 /.ts/lib.es5.d.ts:1494:13: 'Array' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1495:13: 'Array' is declared here. a5([1, 2, "string", false, true]); // Error, parameter type is [any, any, [[any]]] ~~~~~~~~ !!! error TS2322: Type 'string' is not assignable to type '[[any]]'. diff --git a/tests/baselines/reference/destructuringTuple.errors.txt b/tests/baselines/reference/destructuringTuple.errors.txt index 7a6ff666f6271..20d9a290c04c9 100644 --- a/tests/baselines/reference/destructuringTuple.errors.txt +++ b/tests/baselines/reference/destructuringTuple.errors.txt @@ -33,8 +33,8 @@ tests/cases/compiler/destructuringTuple.ts(11,60): error TS2769: No overload mat !!! error TS2769: Overload 2 of 3, '(callbackfn: (previousValue: [], currentValue: number, currentIndex: number, array: number[]) => [], initialValue: []): []', gave the following error. !!! error TS2769: Type 'never[]' is not assignable to type '[]'. !!! error TS2769: Target allows only 0 element(s) but source may have more. -!!! related TS6502 /.ts/lib.es5.d.ts:1459:24: The expected type comes from the return type of this signature. -!!! related TS6502 /.ts/lib.es5.d.ts:1465:27: The expected type comes from the return type of this signature. +!!! related TS6502 /.ts/lib.es5.d.ts:1460:24: The expected type comes from the return type of this signature. +!!! related TS6502 /.ts/lib.es5.d.ts:1466:27: The expected type comes from the return type of this signature. ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 2, '(...items: ConcatArray[]): never[]', gave the following error. diff --git a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.js b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.js index 8bb622be4f578..5628b4fe0d24b 100644 --- a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.js +++ b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.js @@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.symbols b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.symbols index e57fc793920ca..bdfbd17064f9f 100644 --- a/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.symbols +++ b/tests/baselines/reference/doNotEmitDetachedCommentsAtStartOfLambdaFunction.symbols @@ -1,32 +1,32 @@ === tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfLambdaFunction.ts === + () => { -No type information for this code. // Single line comment -No type information for this code. -No type information for this code. return 0; -No type information for this code.} -No type information for this code. -No type information for this code.() => { -No type information for this code. /* -No type information for this code. multi-line comment -No type information for this code. */ -No type information for this code. -No type information for this code. return 0; -No type information for this code.} -No type information for this code. -No type information for this code.() => { -No type information for this code. // Single line comment with more than one blank line -No type information for this code. -No type information for this code. -No type information for this code. return 0; -No type information for this code.} -No type information for this code. -No type information for this code.() => { -No type information for this code. /* -No type information for this code. multi-line comment with more than one blank line -No type information for this code. */ -No type information for this code. -No type information for this code. -No type information for this code. return 0; -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + // Single line comment + + return 0; +} + +() => { + /* + multi-line comment + */ + + return 0; +} + +() => { + // Single line comment with more than one blank line + + + return 0; +} + +() => { + /* + multi-line comment with more than one blank line + */ + + + return 0; +} + diff --git a/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.symbols b/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.symbols index 5e3ebab68db05..0463aebec49bb 100644 --- a/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.symbols +++ b/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.symbols @@ -1,9 +1,9 @@ === tests/cases/compiler/file2.ts === + /// -No type information for this code./// -No type information for this code./// -No type information for this code.=== tests/cases/compiler/file0.ts === +/// +/// +=== tests/cases/compiler/file0.ts === -No type information for this code.=== tests/cases/compiler/file1.ts === +=== tests/cases/compiler/file1.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.types b/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.types index 5e3ebab68db05..0463aebec49bb 100644 --- a/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.types +++ b/tests/baselines/reference/doNotEmitTripleSlashCommentsInEmptyFile.types @@ -1,9 +1,9 @@ === tests/cases/compiler/file2.ts === + /// -No type information for this code./// -No type information for this code./// -No type information for this code.=== tests/cases/compiler/file0.ts === +/// +/// +=== tests/cases/compiler/file0.ts === -No type information for this code.=== tests/cases/compiler/file1.ts === +=== tests/cases/compiler/file1.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/doNotEmitTripleSlashCommentsOnNotEmittedNode.types b/tests/baselines/reference/doNotEmitTripleSlashCommentsOnNotEmittedNode.types index 764d60305d5ec..8bc06d56b1848 100644 --- a/tests/baselines/reference/doNotEmitTripleSlashCommentsOnNotEmittedNode.types +++ b/tests/baselines/reference/doNotEmitTripleSlashCommentsOnNotEmittedNode.types @@ -1,9 +1,10 @@ === tests/cases/compiler/file1.ts === + /// -No type information for this code.interface F { } -No type information for this code. -No type information for this code. -No type information for this code.=== tests/cases/compiler/file0.ts === +interface F { } + + +=== tests/cases/compiler/file0.ts === /// declare var OData: any; >OData : any diff --git a/tests/baselines/reference/doubleUnderscoreExportStarConflict.symbols b/tests/baselines/reference/doubleUnderscoreExportStarConflict.symbols index cecca7f6afce9..6f9d77aca1af1 100644 --- a/tests/baselines/reference/doubleUnderscoreExportStarConflict.symbols +++ b/tests/baselines/reference/doubleUnderscoreExportStarConflict.symbols @@ -1,8 +1,9 @@ === tests/cases/compiler/index.tsx === + export * from "./b"; -No type information for this code.export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === +export * from "./c"; + +=== tests/cases/compiler/b.ts === export function __foo(): number | void {} >__foo : Symbol(__foo, Decl(b.ts, 0, 0)) diff --git a/tests/baselines/reference/doubleUnderscoreExportStarConflict.types b/tests/baselines/reference/doubleUnderscoreExportStarConflict.types index 55e6db3801230..ecd606e8d59df 100644 --- a/tests/baselines/reference/doubleUnderscoreExportStarConflict.types +++ b/tests/baselines/reference/doubleUnderscoreExportStarConflict.types @@ -1,8 +1,9 @@ === tests/cases/compiler/index.tsx === + export * from "./b"; -No type information for this code.export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === +export * from "./c"; + +=== tests/cases/compiler/b.ts === export function __foo(): number | void {} >__foo : () => number | void diff --git a/tests/baselines/reference/downlevelLetConst1.symbols b/tests/baselines/reference/downlevelLetConst1.symbols index 768c567f2719c..ad5d32953099c 100644 --- a/tests/baselines/reference/downlevelLetConst1.symbols +++ b/tests/baselines/reference/downlevelLetConst1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/downlevelLetConst1.ts === + const -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/downlevelLetConst1.types b/tests/baselines/reference/downlevelLetConst1.types index 768c567f2719c..ad5d32953099c 100644 --- a/tests/baselines/reference/downlevelLetConst1.types +++ b/tests/baselines/reference/downlevelLetConst1.types @@ -1,3 +1,3 @@ === tests/cases/compiler/downlevelLetConst1.ts === + const -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/downlevelLetConst11.symbols b/tests/baselines/reference/downlevelLetConst11.symbols index 616d90761c6ff..0f169e7e9e7d8 100644 --- a/tests/baselines/reference/downlevelLetConst11.symbols +++ b/tests/baselines/reference/downlevelLetConst11.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/downlevelLetConst11.ts === + "use strict"; -No type information for this code.let -No type information for this code. \ No newline at end of file +let diff --git a/tests/baselines/reference/downlevelLetConst6.symbols b/tests/baselines/reference/downlevelLetConst6.symbols index 6744a94cd7132..e5537c8f822c3 100644 --- a/tests/baselines/reference/downlevelLetConst6.symbols +++ b/tests/baselines/reference/downlevelLetConst6.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/downlevelLetConst6.ts === + let -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/duplicateConstructSignature.types b/tests/baselines/reference/duplicateConstructSignature.types index 5849a3b5cb035..c029a0a9d33d5 100644 --- a/tests/baselines/reference/duplicateConstructSignature.types +++ b/tests/baselines/reference/duplicateConstructSignature.types @@ -1,6 +1,6 @@ === tests/cases/compiler/duplicateConstructSignature.ts === + interface I { -No type information for this code. (): number; -No type information for this code. (): string; -No type information for this code.} -No type information for this code. \ No newline at end of file + (): number; + (): string; +} diff --git a/tests/baselines/reference/duplicateDefaultExport.symbols b/tests/baselines/reference/duplicateDefaultExport.symbols index 6f978e28e78d4..921d8348e0ff2 100644 --- a/tests/baselines/reference/duplicateDefaultExport.symbols +++ b/tests/baselines/reference/duplicateDefaultExport.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/duplicateDefaultExport.ts === + export default 0; -No type information for this code.export default function() {} -No type information for this code. -No type information for this code. \ No newline at end of file +export default function() {} + diff --git a/tests/baselines/reference/duplicateDefaultExport.types b/tests/baselines/reference/duplicateDefaultExport.types index 6f978e28e78d4..921d8348e0ff2 100644 --- a/tests/baselines/reference/duplicateDefaultExport.types +++ b/tests/baselines/reference/duplicateDefaultExport.types @@ -1,5 +1,5 @@ === tests/cases/compiler/duplicateDefaultExport.ts === + export default 0; -No type information for this code.export default function() {} -No type information for this code. -No type information for this code. \ No newline at end of file +export default function() {} + diff --git a/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.symbols b/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.symbols index 81436a6e51041..7cf2c8ab5e5cf 100644 --- a/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.symbols +++ b/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.symbols @@ -1,3 +1,2 @@ === tests/cases/compiler/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding_0.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.types b/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.types index 81436a6e51041..7cf2c8ab5e5cf 100644 --- a/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.types +++ b/tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.types @@ -1,3 +1,2 @@ === tests/cases/compiler/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding_0.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/duplicateLabel1.symbols b/tests/baselines/reference/duplicateLabel1.symbols index 3d23b0483368e..674c54133c98b 100644 --- a/tests/baselines/reference/duplicateLabel1.symbols +++ b/tests/baselines/reference/duplicateLabel1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/duplicateLabel1.ts === + target: -No type information for this code.target: -No type information for this code.while (true) { -No type information for this code.} -No type information for this code. \ No newline at end of file +target: +while (true) { +} diff --git a/tests/baselines/reference/duplicateLabel2.symbols b/tests/baselines/reference/duplicateLabel2.symbols index a7fb7df8d13d5..19f8200722c19 100644 --- a/tests/baselines/reference/duplicateLabel2.symbols +++ b/tests/baselines/reference/duplicateLabel2.symbols @@ -1,8 +1,8 @@ === tests/cases/compiler/duplicateLabel2.ts === + target: -No type information for this code.while (true) { -No type information for this code. target: -No type information for this code. while (true) { -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file +while (true) { + target: + while (true) { + } +} diff --git a/tests/baselines/reference/duplicateLabel4.symbols b/tests/baselines/reference/duplicateLabel4.symbols index c671abcef35d6..16adbf6f93a45 100644 --- a/tests/baselines/reference/duplicateLabel4.symbols +++ b/tests/baselines/reference/duplicateLabel4.symbols @@ -1,9 +1,9 @@ === tests/cases/compiler/duplicateLabel4.ts === + target: -No type information for this code.while (true) { -No type information for this code.} -No type information for this code. -No type information for this code.target: -No type information for this code.while (true) { -No type information for this code.} -No type information for this code. \ No newline at end of file +while (true) { +} + +target: +while (true) { +} diff --git a/tests/baselines/reference/duplicateNumericIndexers.errors.txt b/tests/baselines/reference/duplicateNumericIndexers.errors.txt index b54aa648ebc46..c34d35766c139 100644 --- a/tests/baselines/reference/duplicateNumericIndexers.errors.txt +++ b/tests/baselines/reference/duplicateNumericIndexers.errors.txt @@ -11,7 +11,7 @@ tests/cases/conformance/types/members/duplicateNumericIndexers.ts(25,5): error T tests/cases/conformance/types/members/duplicateNumericIndexers.ts(29,5): error TS2374: Duplicate index signature for type 'number'. tests/cases/conformance/types/members/duplicateNumericIndexers.ts(30,5): error TS2374: Duplicate index signature for type 'number'. lib.es5.d.ts(517,5): error TS2374: Duplicate index signature for type 'number'. -lib.es5.d.ts(1480,5): error TS2374: Duplicate index signature for type 'number'. +lib.es5.d.ts(1481,5): error TS2374: Duplicate index signature for type 'number'. ==== tests/cases/conformance/types/members/duplicateNumericIndexers.ts (12 errors) ==== diff --git a/tests/baselines/reference/dynamicImportEvaluateSpecifier.js b/tests/baselines/reference/dynamicImportEvaluateSpecifier.js new file mode 100644 index 0000000000000..60c4a9f3d1f44 --- /dev/null +++ b/tests/baselines/reference/dynamicImportEvaluateSpecifier.js @@ -0,0 +1,31 @@ +//// [dynamicImportEvaluateSpecifier.ts] +// https://github.com/microsoft/TypeScript/issues/48285 +let i = 0; + +import(String(i++)); +import(String(i++)); + +const getPath = async () => { + /* in reality this would do some async FS operation, or a web request */ + return "/root/my/cool/path"; +}; + +const someFunction = async () => { + const result = await import(await getPath()); +}; + + +//// [dynamicImportEvaluateSpecifier.js] +var _a, _b; +// https://github.com/microsoft/TypeScript/issues/48285 +let i = 0; +_a = String(i++), Promise.resolve().then(() => require(_a)); +_b = String(i++), Promise.resolve().then(() => require(_b)); +const getPath = async () => { + /* in reality this would do some async FS operation, or a web request */ + return "/root/my/cool/path"; +}; +const someFunction = async () => { + var _a; + const result = await (_a = await getPath(), Promise.resolve().then(() => require(_a))); +}; diff --git a/tests/baselines/reference/dynamicImportEvaluateSpecifier.symbols b/tests/baselines/reference/dynamicImportEvaluateSpecifier.symbols new file mode 100644 index 0000000000000..0ce2c94fdd31e --- /dev/null +++ b/tests/baselines/reference/dynamicImportEvaluateSpecifier.symbols @@ -0,0 +1,29 @@ +=== tests/cases/compiler/dynamicImportEvaluateSpecifier.ts === +// https://github.com/microsoft/TypeScript/issues/48285 +let i = 0; +>i : Symbol(i, Decl(dynamicImportEvaluateSpecifier.ts, 1, 3)) + +import(String(i++)); +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 3 more) +>i : Symbol(i, Decl(dynamicImportEvaluateSpecifier.ts, 1, 3)) + +import(String(i++)); +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 3 more) +>i : Symbol(i, Decl(dynamicImportEvaluateSpecifier.ts, 1, 3)) + +const getPath = async () => { +>getPath : Symbol(getPath, Decl(dynamicImportEvaluateSpecifier.ts, 6, 5)) + + /* in reality this would do some async FS operation, or a web request */ + return "/root/my/cool/path"; +}; + +const someFunction = async () => { +>someFunction : Symbol(someFunction, Decl(dynamicImportEvaluateSpecifier.ts, 11, 5)) + + const result = await import(await getPath()); +>result : Symbol(result, Decl(dynamicImportEvaluateSpecifier.ts, 12, 6)) +>getPath : Symbol(getPath, Decl(dynamicImportEvaluateSpecifier.ts, 6, 5)) + +}; + diff --git a/tests/baselines/reference/dynamicImportEvaluateSpecifier.types b/tests/baselines/reference/dynamicImportEvaluateSpecifier.types new file mode 100644 index 0000000000000..20443b78f9294 --- /dev/null +++ b/tests/baselines/reference/dynamicImportEvaluateSpecifier.types @@ -0,0 +1,44 @@ +=== tests/cases/compiler/dynamicImportEvaluateSpecifier.ts === +// https://github.com/microsoft/TypeScript/issues/48285 +let i = 0; +>i : number +>0 : 0 + +import(String(i++)); +>import(String(i++)) : Promise +>String(i++) : string +>String : StringConstructor +>i++ : number +>i : number + +import(String(i++)); +>import(String(i++)) : Promise +>String(i++) : string +>String : StringConstructor +>i++ : number +>i : number + +const getPath = async () => { +>getPath : () => Promise +>async () => { /* in reality this would do some async FS operation, or a web request */ return "/root/my/cool/path";} : () => Promise + + /* in reality this would do some async FS operation, or a web request */ + return "/root/my/cool/path"; +>"/root/my/cool/path" : "/root/my/cool/path" + +}; + +const someFunction = async () => { +>someFunction : () => Promise +>async () => { const result = await import(await getPath());} : () => Promise + + const result = await import(await getPath()); +>result : any +>await import(await getPath()) : any +>import(await getPath()) : Promise +>await getPath() : string +>getPath() : Promise +>getPath : () => Promise + +}; + diff --git a/tests/baselines/reference/dynamicImportTrailingComma.js b/tests/baselines/reference/dynamicImportTrailingComma.js index bbbc9794af746..d28e9be57761d 100644 --- a/tests/baselines/reference/dynamicImportTrailingComma.js +++ b/tests/baselines/reference/dynamicImportTrailingComma.js @@ -3,5 +3,6 @@ const path = './foo'; import(path,); //// [dynamicImportTrailingComma.js] +var _a; var path = './foo'; -Promise.resolve().then(function () { return require(path); }); +_a = path, Promise.resolve().then(function () { return require(_a); }); diff --git a/tests/baselines/reference/emitCommentsOnlyFile.symbols b/tests/baselines/reference/emitCommentsOnlyFile.symbols index 04e8f4a103a12..8371e278840ef 100644 --- a/tests/baselines/reference/emitCommentsOnlyFile.symbols +++ b/tests/baselines/reference/emitCommentsOnlyFile.symbols @@ -1,29 +1,29 @@ === tests/cases/compiler/emitCommentsOnlyFile.ts === + /** -No type information for this code.* @name Foo -No type information for this code.* @class -No type information for this code.*/ -No type information for this code./**#@+ -No type information for this code.* @memberOf Foo# -No type information for this code.* @field -No type information for this code.*/ -No type information for this code./** -No type information for this code.* @name bar -No type information for this code.* @type Object[] -No type information for this code.*/ -No type information for this code./**#@-*/ -No type information for this code./** -No type information for this code.* @name Foo2 -No type information for this code.* @class -No type information for this code.*/ -No type information for this code./**#@+ -No type information for this code.* @memberOf Foo2# -No type information for this code.* @field -No type information for this code.*/ -No type information for this code./** -No type information for this code.* @name bar -No type information for this code.* @type Object[] -No type information for this code.*/ -No type information for this code./**#@-*/ -No type information for this code. -No type information for this code. \ No newline at end of file +* @name Foo +* @class +*/ +/**#@+ +* @memberOf Foo# +* @field +*/ +/** +* @name bar +* @type Object[] +*/ +/**#@-*/ +/** +* @name Foo2 +* @class +*/ +/**#@+ +* @memberOf Foo2# +* @field +*/ +/** +* @name bar +* @type Object[] +*/ +/**#@-*/ + diff --git a/tests/baselines/reference/emitCommentsOnlyFile.types b/tests/baselines/reference/emitCommentsOnlyFile.types index 04e8f4a103a12..8371e278840ef 100644 --- a/tests/baselines/reference/emitCommentsOnlyFile.types +++ b/tests/baselines/reference/emitCommentsOnlyFile.types @@ -1,29 +1,29 @@ === tests/cases/compiler/emitCommentsOnlyFile.ts === + /** -No type information for this code.* @name Foo -No type information for this code.* @class -No type information for this code.*/ -No type information for this code./**#@+ -No type information for this code.* @memberOf Foo# -No type information for this code.* @field -No type information for this code.*/ -No type information for this code./** -No type information for this code.* @name bar -No type information for this code.* @type Object[] -No type information for this code.*/ -No type information for this code./**#@-*/ -No type information for this code./** -No type information for this code.* @name Foo2 -No type information for this code.* @class -No type information for this code.*/ -No type information for this code./**#@+ -No type information for this code.* @memberOf Foo2# -No type information for this code.* @field -No type information for this code.*/ -No type information for this code./** -No type information for this code.* @name bar -No type information for this code.* @type Object[] -No type information for this code.*/ -No type information for this code./**#@-*/ -No type information for this code. -No type information for this code. \ No newline at end of file +* @name Foo +* @class +*/ +/**#@+ +* @memberOf Foo# +* @field +*/ +/** +* @name bar +* @type Object[] +*/ +/**#@-*/ +/** +* @name Foo2 +* @class +*/ +/**#@+ +* @memberOf Foo2# +* @field +*/ +/** +* @name bar +* @type Object[] +*/ +/**#@-*/ + diff --git a/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=commonjs).types b/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=commonjs).types index b2615eac81b73..ae9dc4ee72285 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=commonjs).types +++ b/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=commonjs).types @@ -4,9 +4,10 @@ export type { T1 } >T1 : T1 === tests/cases/compiler/type2.ts === + export interface T2 {} -No type information for this code. -No type information for this code.=== tests/cases/compiler/class3.ts === + +=== tests/cases/compiler/class3.ts === export class C3 {} >C3 : C3 diff --git a/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=esnext).types b/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=esnext).types index b2615eac81b73..ae9dc4ee72285 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=esnext).types +++ b/tests/baselines/reference/emitDecoratorMetadata_isolatedModules(module=esnext).types @@ -4,9 +4,10 @@ export type { T1 } >T1 : T1 === tests/cases/compiler/type2.ts === + export interface T2 {} -No type information for this code. -No type information for this code.=== tests/cases/compiler/class3.ts === + +=== tests/cases/compiler/class3.ts === export class C3 {} >C3 : C3 diff --git a/tests/baselines/reference/emitExponentiationOperator1.symbols b/tests/baselines/reference/emitExponentiationOperator1.symbols index 9a86abe3f9a22..b9fad1ac2517e 100644 --- a/tests/baselines/reference/emitExponentiationOperator1.symbols +++ b/tests/baselines/reference/emitExponentiationOperator1.symbols @@ -1,33 +1,33 @@ === tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator1.ts === + 1 ** -2; -No type information for this code.1 ** 2; -No type information for this code.(-1) ** 2 -No type information for this code.1 ** 2 ** 3; -No type information for this code.1 ** 2 ** -3; -No type information for this code.1 ** -(2 ** 3); -No type information for this code.(-(1 ** 2)) ** 3; -No type information for this code.(-(1 ** 2)) ** -3; -No type information for this code. -No type information for this code.1 ** 2 + 3; -No type information for this code.1 ** 2 - 3; -No type information for this code.1 ** 2 * 3; -No type information for this code.1 ** 2 / 3; -No type information for this code.1 ** 2 % 3; -No type information for this code. -No type information for this code.1 ** -2 + 3; -No type information for this code.1 ** -2 - 3; -No type information for this code.1 ** -2 * 3; -No type information for this code.1 ** -2 / 3; -No type information for this code.1 ** -2 % 3; -No type information for this code. -No type information for this code.2 + 3 ** 3; -No type information for this code.2 - 3 ** 3; -No type information for this code.2 * 3 ** 3; -No type information for this code.2 / 3 ** 3; -No type information for this code.2 % 3 ** 3; -No type information for this code. -No type information for this code.(2 + 3) ** 4; -No type information for this code.(2 - 3) ** 4; -No type information for this code.(2 * 3) ** 4; -No type information for this code.(2 / 3) ** 4; -No type information for this code. \ No newline at end of file +1 ** 2; +(-1) ** 2 +1 ** 2 ** 3; +1 ** 2 ** -3; +1 ** -(2 ** 3); +(-(1 ** 2)) ** 3; +(-(1 ** 2)) ** -3; + +1 ** 2 + 3; +1 ** 2 - 3; +1 ** 2 * 3; +1 ** 2 / 3; +1 ** 2 % 3; + +1 ** -2 + 3; +1 ** -2 - 3; +1 ** -2 * 3; +1 ** -2 / 3; +1 ** -2 % 3; + +2 + 3 ** 3; +2 - 3 ** 3; +2 * 3 ** 3; +2 / 3 ** 3; +2 % 3 ** 3; + +(2 + 3) ** 4; +(2 - 3) ** 4; +(2 * 3) ** 4; +(2 / 3) ** 4; diff --git a/tests/baselines/reference/emitMemberAccessExpression.symbols b/tests/baselines/reference/emitMemberAccessExpression.symbols index ac0f8852d2a88..e6d2aa5e74dbf 100644 --- a/tests/baselines/reference/emitMemberAccessExpression.symbols +++ b/tests/baselines/reference/emitMemberAccessExpression.symbols @@ -14,10 +14,11 @@ module Microsoft.PeopleAtWork.Model { } } === tests/cases/compiler/emitMemberAccessExpression_file1.ts === + /// -No type information for this code."use strict"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/emitMemberAccessExpression_file2.ts === +"use strict"; + +=== tests/cases/compiler/emitMemberAccessExpression_file2.ts === /// "use strict"; module Microsoft.PeopleAtWork.Model { diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js index 0cafc5a2d88be..0ecd60089166b 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.js @@ -67,7 +67,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -119,7 +119,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -178,7 +178,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -237,7 +237,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -319,7 +319,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -409,7 +409,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -467,7 +467,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -522,7 +522,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -592,7 +592,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js index ba9e6b4180e79..40fd03ca101c8 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.js @@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -83,7 +83,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -137,7 +137,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -191,7 +191,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -268,7 +268,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -353,7 +353,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -406,7 +406,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js index bd1280df23762..e671326c3d3ed 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.js @@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -83,7 +83,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -137,7 +137,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -191,7 +191,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -268,7 +268,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -353,7 +353,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -406,7 +406,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js index 138c729aa29c3..a3f89f6d24418 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.js @@ -50,7 +50,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -99,7 +99,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -155,7 +155,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -211,7 +211,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -290,7 +290,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -377,7 +377,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -432,7 +432,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/emitter.forAwait(target=es2015).js b/tests/baselines/reference/emitter.forAwait(target=es2015).js index a651bbbb92cc8..7281878c798eb 100644 --- a/tests/baselines/reference/emitter.forAwait(target=es2015).js +++ b/tests/baselines/reference/emitter.forAwait(target=es2015).js @@ -68,18 +68,25 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; function f1() { - var e_1, _a; + var _a, e_1, _b, _c; return __awaiter(this, void 0, void 0, function* () { let y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield y_1.next(), !y_1_1.done;) { - const x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield y_1.next(), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield _a.call(y_1); + if (!_d && !_a && (_b = y_1.return)) yield _b.call(y_1); } finally { if (e_1) throw e_1.error; } } @@ -103,18 +110,25 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; function f2() { - var e_1, _a; + var _a, e_1, _b, _c; return __awaiter(this, void 0, void 0, function* () { let x, y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield y_1.next(), !y_1_1.done;) { - x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield y_1.next(), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield _a.call(y_1); + if (!_d && !_a && (_b = y_1.return)) yield _b.call(y_1); } finally { if (e_1) throw e_1.error; } } @@ -142,17 +156,24 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar }; function f3() { return __asyncGenerator(this, arguments, function* f3_1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - const x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } @@ -180,17 +201,24 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar }; function f4() { return __asyncGenerator(this, arguments, function* f4_1() { - var e_1, _a; + var _a, e_1, _b, _c; let x, y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } @@ -215,19 +243,26 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { }; // https://github.com/Microsoft/TypeScript/issues/21363 function f5() { - var e_1, _a; + var _a, e_1, _b, _c; return __awaiter(this, void 0, void 0, function* () { let y; try { - outer: for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield y_1.next(), !y_1_1.done;) { - const x = y_1_1.value; - continue outer; + outer: for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield y_1.next(), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + continue outer; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield _a.call(y_1); + if (!_d && !_a && (_b = y_1.return)) yield _b.call(y_1); } finally { if (e_1) throw e_1.error; } } @@ -256,18 +291,25 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar // https://github.com/Microsoft/TypeScript/issues/21363 function f6() { return __asyncGenerator(this, arguments, function* f6_1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; try { - outer: for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - const x = y_1_1.value; - continue outer; + outer: for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + continue outer; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } @@ -296,18 +338,25 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar // https://github.com/microsoft/TypeScript/issues/36166 function f7() { return __asyncGenerator(this, arguments, function* f7_1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; for (;;) { try { - for (var y_1 = (e_1 = void 0, __asyncValues(y)), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - const x = y_1_1.value; + for (var _d = true, y_1 = (e_1 = void 0, __asyncValues(y)), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } diff --git a/tests/baselines/reference/emitter.forAwait(target=es2017).js b/tests/baselines/reference/emitter.forAwait(target=es2017).js index e7ab46bccc5a9..d1abbe9a92429 100644 --- a/tests/baselines/reference/emitter.forAwait(target=es2017).js +++ b/tests/baselines/reference/emitter.forAwait(target=es2017).js @@ -59,17 +59,24 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; async function f1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = await y_1.next(), !y_1_1.done;) { - const x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = await y_1.next(), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) await _a.call(y_1); + if (!_d && !_a && (_b = y_1.return)) await _b.call(y_1); } finally { if (e_1) throw e_1.error; } } @@ -83,17 +90,24 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; async function f2() { - var e_1, _a; + var _a, e_1, _b, _c; let x, y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = await y_1.next(), !y_1_1.done;) { - x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = await y_1.next(), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) await _a.call(y_1); + if (!_d && !_a && (_b = y_1.return)) await _b.call(y_1); } finally { if (e_1) throw e_1.error; } } @@ -120,17 +134,24 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar }; function f3() { return __asyncGenerator(this, arguments, function* f3_1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - const x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } @@ -158,17 +179,24 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar }; function f4() { return __asyncGenerator(this, arguments, function* f4_1() { - var e_1, _a; + var _a, e_1, _b, _c; let x, y; try { - for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - x = y_1_1.value; + for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } @@ -184,18 +212,25 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { }; // https://github.com/Microsoft/TypeScript/issues/21363 async function f5() { - var e_1, _a; + var _a, e_1, _b, _c; let y; try { - outer: for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = await y_1.next(), !y_1_1.done;) { - const x = y_1_1.value; - continue outer; + outer: for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = await y_1.next(), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + continue outer; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) await _a.call(y_1); + if (!_d && !_a && (_b = y_1.return)) await _b.call(y_1); } finally { if (e_1) throw e_1.error; } } @@ -223,18 +258,25 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar // https://github.com/Microsoft/TypeScript/issues/21363 function f6() { return __asyncGenerator(this, arguments, function* f6_1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; try { - outer: for (var y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - const x = y_1_1.value; - continue outer; + outer: for (var _d = true, y_1 = __asyncValues(y), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + continue outer; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } @@ -263,18 +305,25 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar // https://github.com/microsoft/TypeScript/issues/36166 function f7() { return __asyncGenerator(this, arguments, function* f7_1() { - var e_1, _a; + var _a, e_1, _b, _c; let y; for (;;) { try { - for (var y_1 = (e_1 = void 0, __asyncValues(y)), y_1_1; y_1_1 = yield __await(y_1.next()), !y_1_1.done;) { - const x = y_1_1.value; + for (var _d = true, y_1 = (e_1 = void 0, __asyncValues(y)), y_1_1; y_1_1 = yield __await(y_1.next()), _a = y_1_1.done, !_a;) { + _c = y_1_1.value; + _d = false; + try { + const x = _c; + } + finally { + _d = true; + } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { - if (y_1_1 && !y_1_1.done && (_a = y_1.return)) yield __await(_a.call(y_1)); + if (!_d && !_a && (_b = y_1.return)) yield __await(_b.call(y_1)); } finally { if (e_1) throw e_1.error; } } diff --git a/tests/baselines/reference/emitter.forAwait(target=es5).js b/tests/baselines/reference/emitter.forAwait(target=es5).js index 5b182d16d5c39..d8bf8898381a5 100644 --- a/tests/baselines/reference/emitter.forAwait(target=es5).js +++ b/tests/baselines/reference/emitter.forAwait(target=es5).js @@ -66,7 +66,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -95,33 +95,40 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; function f1() { - var e_1, _a; + var _a, e_1, _b, _c; return __awaiter(this, void 0, void 0, function () { - var y, y_1, y_1_1, x, e_1_1; - return __generator(this, function (_b) { - switch (_b.label) { + var y, _d, y_1, y_1_1, x, e_1_1; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = __asyncValues(y); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _d = true, y_1 = __asyncValues(y); + _e.label = 1; case 1: return [4 /*yield*/, y_1.next()]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - _b.label = 3; + if (!(y_1_1 = _e.sent(), _a = y_1_1.done, !_a)) return [3 /*break*/, 4]; + _c = y_1_1.value; + _d = false; + try { + x = _c; + } + finally { + _d = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, _a.call(y_1)]; + _e.trys.push([6, , 9, 10]); + if (!(!_d && !_a && (_b = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, _b.call(y_1)]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; @@ -148,7 +155,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -177,33 +184,40 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } }; function f2() { - var e_1, _a; + var _a, e_1, _b, _c; return __awaiter(this, void 0, void 0, function () { - var x, y, y_1, y_1_1, e_1_1; - return __generator(this, function (_b) { - switch (_b.label) { + var x, y, _d, y_1, y_1_1, e_1_1; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = __asyncValues(y); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _d = true, y_1 = __asyncValues(y); + _e.label = 1; case 1: return [4 /*yield*/, y_1.next()]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - _b.label = 3; + if (!(y_1_1 = _e.sent(), _a = y_1_1.done, !_a)) return [3 /*break*/, 4]; + _c = y_1_1.value; + _d = false; + try { + x = _c; + } + finally { + _d = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, _a.call(y_1)]; + _e.trys.push([6, , 9, 10]); + if (!(!_d && !_a && (_b = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, _b.call(y_1)]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; @@ -221,7 +235,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -263,32 +277,39 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar }; function f3() { return __asyncGenerator(this, arguments, function f3_1() { - var y, y_1, y_1_1, x, e_1_1; - var e_1, _a; - return __generator(this, function (_b) { - switch (_b.label) { + var y, _a, y_1, y_1_1, x, e_1_1; + var _b, e_1, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = __asyncValues(y); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _a = true, y_1 = __asyncValues(y); + _e.label = 1; case 1: return [4 /*yield*/, __await(y_1.next())]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - _b.label = 3; + if (!(y_1_1 = _e.sent(), _b = y_1_1.done, !_b)) return [3 /*break*/, 4]; + _d = y_1_1.value; + _a = false; + try { + x = _d; + } + finally { + _a = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, __await(_a.call(y_1))]; + _e.trys.push([6, , 9, 10]); + if (!(!_a && !_b && (_c = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, __await(_c.call(y_1))]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; @@ -306,7 +327,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -348,32 +369,39 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar }; function f4() { return __asyncGenerator(this, arguments, function f4_1() { - var x, y, y_1, y_1_1, e_1_1; - var e_1, _a; - return __generator(this, function (_b) { - switch (_b.label) { + var x, y, _a, y_1, y_1_1, e_1_1; + var _b, e_1, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = __asyncValues(y); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _a = true, y_1 = __asyncValues(y); + _e.label = 1; case 1: return [4 /*yield*/, __await(y_1.next())]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - _b.label = 3; + if (!(y_1_1 = _e.sent(), _b = y_1_1.done, !_b)) return [3 /*break*/, 4]; + _d = y_1_1.value; + _a = false; + try { + x = _d; + } + finally { + _a = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, __await(_a.call(y_1))]; + _e.trys.push([6, , 9, 10]); + if (!(!_a && !_b && (_c = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, __await(_c.call(y_1))]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; @@ -400,7 +428,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -430,33 +458,41 @@ var __asyncValues = (this && this.__asyncValues) || function (o) { }; // https://github.com/Microsoft/TypeScript/issues/21363 function f5() { - var e_1, _a; + var _a, e_1, _b, _c; return __awaiter(this, void 0, void 0, function () { - var y, y_1, y_1_1, x, e_1_1; - return __generator(this, function (_b) { - switch (_b.label) { + var y, _d, y_1, y_1_1, x, e_1_1; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = __asyncValues(y); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _d = true, y_1 = __asyncValues(y); + _e.label = 1; case 1: return [4 /*yield*/, y_1.next()]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - return [3 /*break*/, 3]; + if (!(y_1_1 = _e.sent(), _a = y_1_1.done, !_a)) return [3 /*break*/, 4]; + _c = y_1_1.value; + _d = false; + try { + x = _c; + return [3 /*break*/, 3]; + } + finally { + _d = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, _a.call(y_1)]; + _e.trys.push([6, , 9, 10]); + if (!(!_d && !_a && (_b = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, _b.call(y_1)]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; @@ -474,7 +510,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -517,32 +553,40 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar // https://github.com/Microsoft/TypeScript/issues/21363 function f6() { return __asyncGenerator(this, arguments, function f6_1() { - var y, y_1, y_1_1, x, e_1_1; - var e_1, _a; - return __generator(this, function (_b) { - switch (_b.label) { + var y, _a, y_1, y_1_1, x, e_1_1; + var _b, e_1, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = __asyncValues(y); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _a = true, y_1 = __asyncValues(y); + _e.label = 1; case 1: return [4 /*yield*/, __await(y_1.next())]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - return [3 /*break*/, 3]; + if (!(y_1_1 = _e.sent(), _b = y_1_1.done, !_b)) return [3 /*break*/, 4]; + _d = y_1_1.value; + _a = false; + try { + x = _d; + return [3 /*break*/, 3]; + } + finally { + _a = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, __await(_a.call(y_1))]; + _e.trys.push([6, , 9, 10]); + if (!(!_a && !_b && (_c = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, __await(_c.call(y_1))]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; @@ -560,7 +604,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -603,32 +647,39 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar // https://github.com/microsoft/TypeScript/issues/36166 function f7() { return __asyncGenerator(this, arguments, function f7_1() { - var y, y_1, y_1_1, x, e_1_1; - var e_1, _a; - return __generator(this, function (_b) { - switch (_b.label) { + var y, _a, y_1, y_1_1, x, e_1_1; + var _b, e_1, _c, _d; + return __generator(this, function (_e) { + switch (_e.label) { case 0: - _b.trys.push([0, 5, 6, 11]); - y_1 = (e_1 = void 0, __asyncValues(y)); - _b.label = 1; + _e.trys.push([0, 5, 6, 11]); + _a = true, y_1 = (e_1 = void 0, __asyncValues(y)); + _e.label = 1; case 1: return [4 /*yield*/, __await(y_1.next())]; case 2: - if (!(y_1_1 = _b.sent(), !y_1_1.done)) return [3 /*break*/, 4]; - x = y_1_1.value; - _b.label = 3; + if (!(y_1_1 = _e.sent(), _b = y_1_1.done, !_b)) return [3 /*break*/, 4]; + _d = y_1_1.value; + _a = false; + try { + x = _d; + } + finally { + _a = true; + } + _e.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _b.trys.push([6, , 9, 10]); - if (!(y_1_1 && !y_1_1.done && (_a = y_1.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, __await(_a.call(y_1))]; + _e.trys.push([6, , 9, 10]); + if (!(!_a && !_b && (_c = y_1.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, __await(_c.call(y_1))]; case 7: - _b.sent(); - _b.label = 8; + _e.sent(); + _e.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; diff --git a/tests/baselines/reference/emptyExpr.symbols b/tests/baselines/reference/emptyExpr.symbols index e699404332f09..4d1c332ace5ef 100644 --- a/tests/baselines/reference/emptyExpr.symbols +++ b/tests/baselines/reference/emptyExpr.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/emptyExpr.ts === + [{},] -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyFile-declaration.symbols b/tests/baselines/reference/emptyFile-declaration.symbols index 496fbbb807df4..81a00a3f31fe3 100644 --- a/tests/baselines/reference/emptyFile-declaration.symbols +++ b/tests/baselines/reference/emptyFile-declaration.symbols @@ -1,3 +1,2 @@ === tests/cases/compiler/emptyFile-declaration.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyFile-declaration.types b/tests/baselines/reference/emptyFile-declaration.types index 496fbbb807df4..81a00a3f31fe3 100644 --- a/tests/baselines/reference/emptyFile-declaration.types +++ b/tests/baselines/reference/emptyFile-declaration.types @@ -1,3 +1,2 @@ === tests/cases/compiler/emptyFile-declaration.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyFile-souremap.symbols b/tests/baselines/reference/emptyFile-souremap.symbols index 5c7f48cfb4994..23c5e2bae8d27 100644 --- a/tests/baselines/reference/emptyFile-souremap.symbols +++ b/tests/baselines/reference/emptyFile-souremap.symbols @@ -1,3 +1,2 @@ === tests/cases/compiler/emptyFile-souremap.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyFile-souremap.types b/tests/baselines/reference/emptyFile-souremap.types index 5c7f48cfb4994..23c5e2bae8d27 100644 --- a/tests/baselines/reference/emptyFile-souremap.types +++ b/tests/baselines/reference/emptyFile-souremap.types @@ -1,3 +1,2 @@ === tests/cases/compiler/emptyFile-souremap.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyFile.symbols b/tests/baselines/reference/emptyFile.symbols index 95478466b8aec..7e5aca97446ef 100644 --- a/tests/baselines/reference/emptyFile.symbols +++ b/tests/baselines/reference/emptyFile.symbols @@ -1,3 +1,2 @@ === tests/cases/compiler/emptyFile.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyFile.types b/tests/baselines/reference/emptyFile.types index 95478466b8aec..7e5aca97446ef 100644 --- a/tests/baselines/reference/emptyFile.types +++ b/tests/baselines/reference/emptyFile.types @@ -1,3 +1,2 @@ === tests/cases/compiler/emptyFile.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.symbols b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.symbols index ed48b01cbbf0a..5e4dc96b26713 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.symbols +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.symbols @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts === + (function () { -No type information for this code. var {}; -No type information for this code. let {}; -No type information for this code. const {}; -No type information for this code. -No type information for this code. var []; -No type information for this code. let []; -No type information for this code. const []; -No type information for this code.})(); -No type information for this code. \ No newline at end of file + var {}; + let {}; + const {}; + + var []; + let []; + const []; +})(); diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5iterable.symbols b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5iterable.symbols index fc4ae50c6f815..b43129f393715 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5iterable.symbols +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5iterable.symbols @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5iterable.ts === + (function () { -No type information for this code. var {}; -No type information for this code. let {}; -No type information for this code. const {}; -No type information for this code. -No type information for this code. var []; -No type information for this code. let []; -No type information for this code. const []; -No type information for this code.})(); -No type information for this code. \ No newline at end of file + var {}; + let {}; + const {}; + + var []; + let []; + const []; +})(); diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.symbols b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.symbols index aca384d584204..49d0978cf98e5 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.symbols +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.symbols @@ -1,11 +1,11 @@ === tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts === + (function () { -No type information for this code. var {}; -No type information for this code. let {}; -No type information for this code. const {}; -No type information for this code. -No type information for this code. var []; -No type information for this code. let []; -No type information for this code. const []; -No type information for this code.})(); -No type information for this code. \ No newline at end of file + var {}; + let {}; + const {}; + + var []; + let []; + const []; +})(); diff --git a/tests/baselines/reference/es5-asyncFunction.js b/tests/baselines/reference/es5-asyncFunction.js index 805e4d4a4c7b6..cea62e7a1b9c0 100644 --- a/tests/baselines/reference/es5-asyncFunction.js +++ b/tests/baselines/reference/es5-asyncFunction.js @@ -24,7 +24,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/es5-asyncFunctionForInStatements.js b/tests/baselines/reference/es5-asyncFunctionForInStatements.js index ec6bfbb97e1eb..5de03d4d96c37 100644 --- a/tests/baselines/reference/es5-asyncFunctionForInStatements.js +++ b/tests/baselines/reference/es5-asyncFunctionForInStatements.js @@ -50,22 +50,24 @@ function forInStatement0() { } function forInStatement1() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i; - return __generator(this, function (_c) { - switch (_c.label) { - case 0: - _a = []; - return [4 /*yield*/, y]; + var _a, _b, _c, _i; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: return [4 /*yield*/, y]; case 1: - for (_b in _c.sent()) - _a.push(_b); + _a = _d.sent(); + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 2; + _d.label = 2; case 2: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - x = _a[_i]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; + x = _c; z; - _c.label = 3; + _d.label = 3; case 3: _i++; return [3 /*break*/, 2]; @@ -76,22 +78,25 @@ function forInStatement1() { } function forInStatement2() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i; - return __generator(this, function (_c) { - switch (_c.label) { + var _a, _b, _c, _i; + return __generator(this, function (_d) { + switch (_d.label) { case 0: - _a = []; - for (_b in y) - _a.push(_b); + _a = y; + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 1; + _d.label = 1; case 1: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - x = _a[_i]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; + x = _c; return [4 /*yield*/, z]; case 2: - _c.sent(); - _c.label = 3; + _d.sent(); + _d.label = 3; case 3: _i++; return [3 /*break*/, 1]; @@ -102,22 +107,25 @@ function forInStatement2() { } function forInStatement3() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i; - return __generator(this, function (_c) { - switch (_c.label) { + var _a, _b, _c, _i; + return __generator(this, function (_d) { + switch (_d.label) { case 0: - _a = []; - for (_b in y) - _a.push(_b); + _a = y; + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 1; + _d.label = 1; case 1: - if (!(_i < _a.length)) return [3 /*break*/, 4]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; return [4 /*yield*/, x]; case 2: - (_c.sent()).a = _a[_i]; + (_d.sent()).a = _c; z; - _c.label = 3; + _d.label = 3; case 3: _i++; return [3 /*break*/, 1]; @@ -128,22 +136,24 @@ function forInStatement3() { } function forInStatement4() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i; - return __generator(this, function (_c) { - switch (_c.label) { - case 0: - _a = []; - return [4 /*yield*/, y]; + var _a, _b, _c, _i; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: return [4 /*yield*/, y]; case 1: - for (_b in _c.sent()) - _a.push(_b); + _a = _d.sent(); + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 2; + _d.label = 2; case 2: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - x.a = _a[_i]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; + x.a = _c; z; - _c.label = 3; + _d.label = 3; case 3: _i++; return [3 /*break*/, 2]; @@ -154,22 +164,25 @@ function forInStatement4() { } function forInStatement5() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i; - return __generator(this, function (_c) { - switch (_c.label) { + var _a, _b, _c, _i; + return __generator(this, function (_d) { + switch (_d.label) { case 0: - _a = []; - for (_b in y) - _a.push(_b); + _a = y; + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 1; + _d.label = 1; case 1: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - x.a = _a[_i]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; + x.a = _c; return [4 /*yield*/, z]; case 2: - _c.sent(); - _c.label = 3; + _d.sent(); + _d.label = 3; case 3: _i++; return [3 /*break*/, 1]; @@ -191,22 +204,24 @@ function forInStatement6() { } function forInStatement7() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i, b; - return __generator(this, function (_c) { - switch (_c.label) { - case 0: - _a = []; - return [4 /*yield*/, y]; + var _a, _b, _c, _i, b; + return __generator(this, function (_d) { + switch (_d.label) { + case 0: return [4 /*yield*/, y]; case 1: - for (_b in _c.sent()) - _a.push(_b); + _a = _d.sent(); + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 2; + _d.label = 2; case 2: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - b = _a[_i]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; + b = _c; z; - _c.label = 3; + _d.label = 3; case 3: _i++; return [3 /*break*/, 2]; @@ -217,22 +232,25 @@ function forInStatement7() { } function forInStatement8() { return __awaiter(this, void 0, void 0, function () { - var _a, _b, _i, c; - return __generator(this, function (_c) { - switch (_c.label) { + var _a, _b, _c, _i, c; + return __generator(this, function (_d) { + switch (_d.label) { case 0: - _a = []; - for (_b in y) - _a.push(_b); + _a = y; + _b = []; + for (_c in _a) + _b.push(_c); _i = 0; - _c.label = 1; + _d.label = 1; case 1: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - c = _a[_i]; + if (!(_i < _b.length)) return [3 /*break*/, 4]; + _c = _b[_i]; + if (!(_c in _a)) return [3 /*break*/, 3]; + c = _c; return [4 /*yield*/, z]; case 2: - _c.sent(); - _c.label = 3; + _d.sent(); + _d.label = 3; case 3: _i++; return [3 /*break*/, 1]; diff --git a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.js b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.js index 06370f1a0d753..7deffab18ad5e 100644 --- a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.js +++ b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.js @@ -44,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/es5-commonjs2.symbols b/tests/baselines/reference/es5-commonjs2.symbols index c36026685dd02..42ee6b7fb3231 100644 --- a/tests/baselines/reference/es5-commonjs2.symbols +++ b/tests/baselines/reference/es5-commonjs2.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/es5-commonjs2.ts === + export default 1; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es5-commonjs2.types b/tests/baselines/reference/es5-commonjs2.types index c36026685dd02..42ee6b7fb3231 100644 --- a/tests/baselines/reference/es5-commonjs2.types +++ b/tests/baselines/reference/es5-commonjs2.types @@ -1,4 +1,4 @@ === tests/cases/compiler/es5-commonjs2.ts === + export default 1; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es5-commonjs5.symbols b/tests/baselines/reference/es5-commonjs5.symbols index 56991d9a003c5..feb787a3fbbdf 100644 --- a/tests/baselines/reference/es5-commonjs5.symbols +++ b/tests/baselines/reference/es5-commonjs5.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/es5-commonjs5.ts === + export default function () { -No type information for this code. return "test"; -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + return "test"; +} + diff --git a/tests/baselines/reference/es5-importHelpersAsyncFunctions.js b/tests/baselines/reference/es5-importHelpersAsyncFunctions.js index 781027fc18ab4..66e610086b213 100644 --- a/tests/baselines/reference/es5-importHelpersAsyncFunctions.js +++ b/tests/baselines/reference/es5-importHelpersAsyncFunctions.js @@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/es5ExportDefaultExpression.symbols b/tests/baselines/reference/es5ExportDefaultExpression.symbols index 65b2419bac96d..20cd05cc6e1a9 100644 --- a/tests/baselines/reference/es5ExportDefaultExpression.symbols +++ b/tests/baselines/reference/es5ExportDefaultExpression.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/es5ExportDefaultExpression.ts === + export default (1 + 2); -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.symbols b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.symbols index 133d9b73dd426..e50554c27fbd3 100644 --- a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.symbols +++ b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/es5ExportDefaultFunctionDeclaration2.ts === + export default function () { } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.types b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.types index 133d9b73dd426..e50554c27fbd3 100644 --- a/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.types +++ b/tests/baselines/reference/es5ExportDefaultFunctionDeclaration2.types @@ -1,4 +1,4 @@ === tests/cases/compiler/es5ExportDefaultFunctionDeclaration2.ts === + export default function () { } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es6ExportAll.symbols b/tests/baselines/reference/es6ExportAll.symbols index d0890d99e3d8d..79ef15e5e3b15 100644 --- a/tests/baselines/reference/es6ExportAll.symbols +++ b/tests/baselines/reference/es6ExportAll.symbols @@ -19,5 +19,5 @@ export module uninstantiated { } === tests/cases/compiler/client.ts === + export * from "server"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ExportAll.types b/tests/baselines/reference/es6ExportAll.types index 8b0f0b893a590..4970865576276 100644 --- a/tests/baselines/reference/es6ExportAll.types +++ b/tests/baselines/reference/es6ExportAll.types @@ -19,5 +19,5 @@ export module uninstantiated { } === tests/cases/compiler/client.ts === + export * from "server"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ExportAllInEs5.symbols b/tests/baselines/reference/es6ExportAllInEs5.symbols index 2a2ad20f22fa6..483016ca5dcbd 100644 --- a/tests/baselines/reference/es6ExportAllInEs5.symbols +++ b/tests/baselines/reference/es6ExportAllInEs5.symbols @@ -19,5 +19,5 @@ export module uninstantiated { } === tests/cases/compiler/client.ts === + export * from "./server"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ExportAllInEs5.types b/tests/baselines/reference/es6ExportAllInEs5.types index 80c718a6a3906..8cc8441c6fdcb 100644 --- a/tests/baselines/reference/es6ExportAllInEs5.types +++ b/tests/baselines/reference/es6ExportAllInEs5.types @@ -19,5 +19,5 @@ export module uninstantiated { } === tests/cases/compiler/client.ts === + export * from "./server"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ExportDefaultExpression.symbols b/tests/baselines/reference/es6ExportDefaultExpression.symbols index b5d3549a1f694..5d0dd6c541d2d 100644 --- a/tests/baselines/reference/es6ExportDefaultExpression.symbols +++ b/tests/baselines/reference/es6ExportDefaultExpression.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/es6ExportDefaultExpression.ts === + export default (1 + 2); -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.symbols b/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.symbols index 4021dbdc49a34..e930f222876a2 100644 --- a/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.symbols +++ b/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/es6ExportDefaultFunctionDeclaration2.ts === + export default function () { } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.types b/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.types index 4021dbdc49a34..e930f222876a2 100644 --- a/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.types +++ b/tests/baselines/reference/es6ExportDefaultFunctionDeclaration2.types @@ -1,4 +1,4 @@ === tests/cases/compiler/es6ExportDefaultFunctionDeclaration2.ts === + export default function () { } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es6ImportParseErrors.symbols b/tests/baselines/reference/es6ImportParseErrors.symbols index 045f7a9d83111..d104016d1f1f9 100644 --- a/tests/baselines/reference/es6ImportParseErrors.symbols +++ b/tests/baselines/reference/es6ImportParseErrors.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/es6ImportParseErrors.ts === + import 10; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportWithoutFromClause.symbols b/tests/baselines/reference/es6ImportWithoutFromClause.symbols index 4298fc777247d..f5d3d294edf17 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClause.symbols +++ b/tests/baselines/reference/es6ImportWithoutFromClause.symbols @@ -3,6 +3,6 @@ export var a = 10; >a : Symbol(a, Decl(es6ImportWithoutFromClause_0.ts, 0, 10)) === tests/cases/compiler/es6ImportWithoutFromClause_1.ts === + import "es6ImportWithoutFromClause_0"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es6ImportWithoutFromClause.types b/tests/baselines/reference/es6ImportWithoutFromClause.types index bf017cb2fc051..a76dcddb2f80a 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClause.types +++ b/tests/baselines/reference/es6ImportWithoutFromClause.types @@ -4,6 +4,6 @@ export var a = 10; >10 : 10 === tests/cases/compiler/es6ImportWithoutFromClause_1.ts === + import "es6ImportWithoutFromClause_0"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.symbols b/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.symbols index b1701aa72081c..b4e993576ba1b 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.symbols +++ b/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.symbols @@ -3,5 +3,5 @@ export var a = 10; >a : Symbol(a, Decl(es6ImportWithoutFromClauseInEs5_0.ts, 0, 10)) === tests/cases/compiler/es6ImportWithoutFromClauseInEs5_1.ts === + import "es6ImportWithoutFromClauseInEs5_0"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types b/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types index 02eacf11b25f7..e585b4b1d8e7c 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types +++ b/tests/baselines/reference/es6ImportWithoutFromClauseInEs5.types @@ -4,5 +4,5 @@ export var a = 10; >10 : 10 === tests/cases/compiler/es6ImportWithoutFromClauseInEs5_1.ts === + import "es6ImportWithoutFromClauseInEs5_0"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.symbols b/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.symbols index e520bede4d8a6..eda46cf1d88b2 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.symbols +++ b/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.symbols @@ -4,5 +4,5 @@ export interface i { } === tests/cases/compiler/es6ImportWithoutFromClauseNonInstantiatedModule_1.ts === + import "es6ImportWithoutFromClauseNonInstantiatedModule_0"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.types b/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.types index 554d7ad462087..5d3b78b9aa5e6 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.types +++ b/tests/baselines/reference/es6ImportWithoutFromClauseNonInstantiatedModule.types @@ -1,7 +1,8 @@ === tests/cases/compiler/es6ImportWithoutFromClauseNonInstantiatedModule_0.ts === + export interface i { -No type information for this code.} -No type information for this code. -No type information for this code.=== tests/cases/compiler/es6ImportWithoutFromClauseNonInstantiatedModule_1.ts === +} + +=== tests/cases/compiler/es6ImportWithoutFromClauseNonInstantiatedModule_1.ts === + import "es6ImportWithoutFromClauseNonInstantiatedModule_0"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.symbols b/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.symbols index f038a8543f68c..52da8a1d94fc1 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.symbols +++ b/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.symbols @@ -3,5 +3,5 @@ export var a = 10; >a : Symbol(a, Decl(server.ts, 0, 10)) === tests/cases/compiler/client.ts === + export import "server"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.types b/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.types index 786c1ebbd54d8..22dbb1b0d840a 100644 --- a/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.types +++ b/tests/baselines/reference/es6ImportWithoutFromClauseWithExport.types @@ -4,5 +4,5 @@ export var a = 10; >10 : 10 === tests/cases/compiler/client.ts === + export import "server"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/esModuleInteropImportTSLibHasImport.symbols b/tests/baselines/reference/esModuleInteropImportTSLibHasImport.symbols index 0c200f3b5ad26..5d78c4223986f 100644 --- a/tests/baselines/reference/esModuleInteropImportTSLibHasImport.symbols +++ b/tests/baselines/reference/esModuleInteropImportTSLibHasImport.symbols @@ -10,8 +10,9 @@ export const username = () => 'username'; >username : Symbol(username, Decl(username.ts, 0, 12)) === tests/cases/compiler/utils/index.ts === + export * from './username'; -No type information for this code.=== tests/cases/compiler/hello.ts === +=== tests/cases/compiler/hello.ts === const sayHello = (name?: string) => void (`Hello, ${name}!`); >sayHello : Symbol(sayHello, Decl(hello.ts, 0, 5)) >name : Symbol(name, Decl(hello.ts, 0, 18)) diff --git a/tests/baselines/reference/esModuleInteropImportTSLibHasImport.types b/tests/baselines/reference/esModuleInteropImportTSLibHasImport.types index 5851ad03565bf..d6e5524e95e09 100644 --- a/tests/baselines/reference/esModuleInteropImportTSLibHasImport.types +++ b/tests/baselines/reference/esModuleInteropImportTSLibHasImport.types @@ -12,8 +12,9 @@ export const username = () => 'username'; >'username' : "username" === tests/cases/compiler/utils/index.ts === + export * from './username'; -No type information for this code.=== tests/cases/compiler/hello.ts === +=== tests/cases/compiler/hello.ts === const sayHello = (name?: string) => void (`Hello, ${name}!`); >sayHello : (name?: string) => any >(name?: string) => void (`Hello, ${name}!`) : (name?: string) => any diff --git a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.errors.txt b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.errors.txt new file mode 100644 index 0000000000000..96eea203d5f99 --- /dev/null +++ b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/exhaustiveSwitchCheckCircularity.ts(14,26): error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. + + +==== tests/cases/compiler/exhaustiveSwitchCheckCircularity.ts (1 errors) ==== + // Repro from #47539 + + declare function isNever(n: never): boolean; + + function f() { + let foo: "aaa" | "bbb" = "aaa"; + while (true) { + switch (foo) { + case "aaa": + } + if (foo === "aaa") { + foo = "bbb"; + } + else if (isNever(foo)) { // Error expected + ~~~ +!!! error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. + break; + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.js b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.js new file mode 100644 index 0000000000000..89a043ec4a2db --- /dev/null +++ b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.js @@ -0,0 +1,38 @@ +//// [exhaustiveSwitchCheckCircularity.ts] +// Repro from #47539 + +declare function isNever(n: never): boolean; + +function f() { + let foo: "aaa" | "bbb" = "aaa"; + while (true) { + switch (foo) { + case "aaa": + } + if (foo === "aaa") { + foo = "bbb"; + } + else if (isNever(foo)) { // Error expected + break; + } + } +} + + +//// [exhaustiveSwitchCheckCircularity.js] +"use strict"; +// Repro from #47539 +function f() { + var foo = "aaa"; + while (true) { + switch (foo) { + case "aaa": + } + if (foo === "aaa") { + foo = "bbb"; + } + else if (isNever(foo)) { // Error expected + break; + } + } +} diff --git a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.symbols b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.symbols new file mode 100644 index 0000000000000..a3d1cac8a9ebd --- /dev/null +++ b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.symbols @@ -0,0 +1,34 @@ +=== tests/cases/compiler/exhaustiveSwitchCheckCircularity.ts === +// Repro from #47539 + +declare function isNever(n: never): boolean; +>isNever : Symbol(isNever, Decl(exhaustiveSwitchCheckCircularity.ts, 0, 0)) +>n : Symbol(n, Decl(exhaustiveSwitchCheckCircularity.ts, 2, 25)) + +function f() { +>f : Symbol(f, Decl(exhaustiveSwitchCheckCircularity.ts, 2, 44)) + + let foo: "aaa" | "bbb" = "aaa"; +>foo : Symbol(foo, Decl(exhaustiveSwitchCheckCircularity.ts, 5, 7)) + + while (true) { + switch (foo) { +>foo : Symbol(foo, Decl(exhaustiveSwitchCheckCircularity.ts, 5, 7)) + + case "aaa": + } + if (foo === "aaa") { +>foo : Symbol(foo, Decl(exhaustiveSwitchCheckCircularity.ts, 5, 7)) + + foo = "bbb"; +>foo : Symbol(foo, Decl(exhaustiveSwitchCheckCircularity.ts, 5, 7)) + } + else if (isNever(foo)) { // Error expected +>isNever : Symbol(isNever, Decl(exhaustiveSwitchCheckCircularity.ts, 0, 0)) +>foo : Symbol(foo, Decl(exhaustiveSwitchCheckCircularity.ts, 5, 7)) + + break; + } + } +} + diff --git a/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types new file mode 100644 index 0000000000000..16051e2046124 --- /dev/null +++ b/tests/baselines/reference/exhaustiveSwitchCheckCircularity.types @@ -0,0 +1,43 @@ +=== tests/cases/compiler/exhaustiveSwitchCheckCircularity.ts === +// Repro from #47539 + +declare function isNever(n: never): boolean; +>isNever : (n: never) => boolean +>n : never + +function f() { +>f : () => void + + let foo: "aaa" | "bbb" = "aaa"; +>foo : "aaa" | "bbb" +>"aaa" : "aaa" + + while (true) { +>true : true + + switch (foo) { +>foo : "aaa" | "bbb" + + case "aaa": +>"aaa" : "aaa" + } + if (foo === "aaa") { +>foo === "aaa" : boolean +>foo : "aaa" | "bbb" +>"aaa" : "aaa" + + foo = "bbb"; +>foo = "bbb" : "bbb" +>foo : "aaa" | "bbb" +>"bbb" : "bbb" + } + else if (isNever(foo)) { // Error expected +>isNever(foo) : boolean +>isNever : (n: never) => boolean +>foo : "bbb" + + break; + } + } +} + diff --git a/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types b/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types index 7a5efc0e8570f..cddd3ccbb6bd3 100644 --- a/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types +++ b/tests/baselines/reference/experimentalDecoratorMetadataUnresolvedTypeObjectInEmit.types @@ -1,13 +1,14 @@ === tests/cases/compiler/types.d.ts === + declare namespace A { -No type information for this code. export namespace B { -No type information for this code. export namespace C { -No type information for this code. export namespace D { -No type information for this code. } -No type information for this code. } -No type information for this code. } -No type information for this code.} -No type information for this code.=== tests/cases/compiler/usage.ts === + export namespace B { + export namespace C { + export namespace D { + } + } + } +} +=== tests/cases/compiler/usage.ts === class Foo { >Foo : Foo diff --git a/tests/baselines/reference/exportAssignNonIdentifier.symbols b/tests/baselines/reference/exportAssignNonIdentifier.symbols index 0c1e7c3611d11..7afebe9c7d4e9 100644 --- a/tests/baselines/reference/exportAssignNonIdentifier.symbols +++ b/tests/baselines/reference/exportAssignNonIdentifier.symbols @@ -6,29 +6,32 @@ export = typeof x; // Ok >x : Symbol(x, Decl(foo1.ts, 0, 3)) === tests/cases/conformance/externalModules/foo2.ts === + export = "sausages"; // Ok -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/foo3.ts === + +=== tests/cases/conformance/externalModules/foo3.ts === export = class Foo3 {}; // Error, not an expression >Foo3 : Symbol(Foo3, Decl(foo3.ts, 0, 8)) === tests/cases/conformance/externalModules/foo4.ts === + export = true; // Ok -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/foo5.ts === + +=== tests/cases/conformance/externalModules/foo5.ts === export = undefined; // Valid. undefined is an identifier in JavaScript/TypeScript >undefined : Symbol(undefined) === tests/cases/conformance/externalModules/foo6.ts === + export = void; // Error, void operator requires an argument -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/foo7.ts === + +=== tests/cases/conformance/externalModules/foo7.ts === export = Date || String; // Ok >Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) >String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) === tests/cases/conformance/externalModules/foo8.ts === + export = null; // Ok -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file + + diff --git a/tests/baselines/reference/exportAssignNonIdentifier.types b/tests/baselines/reference/exportAssignNonIdentifier.types index e457fd8a209ea..cb0a536030b64 100644 --- a/tests/baselines/reference/exportAssignNonIdentifier.types +++ b/tests/baselines/reference/exportAssignNonIdentifier.types @@ -8,9 +8,10 @@ export = typeof x; // Ok >x : number === tests/cases/conformance/externalModules/foo2.ts === + export = "sausages"; // Ok -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/foo3.ts === + +=== tests/cases/conformance/externalModules/foo3.ts === export = class Foo3 {}; // Error, not an expression >class Foo3 {} : typeof Foo3 >Foo3 : typeof Foo3 diff --git a/tests/baselines/reference/exportClassWithoutName.symbols b/tests/baselines/reference/exportClassWithoutName.symbols index 82c66c3c11d56..da24c44bc1a18 100644 --- a/tests/baselines/reference/exportClassWithoutName.symbols +++ b/tests/baselines/reference/exportClassWithoutName.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/exportClassWithoutName.ts === + export class { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/exportClassWithoutName.types b/tests/baselines/reference/exportClassWithoutName.types index 82c66c3c11d56..da24c44bc1a18 100644 --- a/tests/baselines/reference/exportClassWithoutName.types +++ b/tests/baselines/reference/exportClassWithoutName.types @@ -1,4 +1,4 @@ === tests/cases/compiler/exportClassWithoutName.ts === + export class { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.symbols b/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.symbols index e3796ccf68543..5cd8dec7e549a 100644 --- a/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.symbols +++ b/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.symbols @@ -9,10 +9,11 @@ export { x } from "./t1"; === tests/cases/compiler/t3.ts === + export { } from -No type information for this code. "./t1"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/t4.ts === + "./t1"; + +=== tests/cases/compiler/t4.ts === export { x as a } from >x : Symbol(x, Decl(t1.ts, 0, 10)) >a : Symbol(a, Decl(t4.ts, 0, 8)) diff --git a/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types b/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types index 510ccc294680b..9bfc1dd0b7f20 100644 --- a/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types +++ b/tests/baselines/reference/exportDeclarationWithModuleSpecifierNameOnNextLine1.types @@ -10,10 +10,11 @@ export { x } from "./t1"; === tests/cases/compiler/t3.ts === + export { } from -No type information for this code. "./t1"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/t4.ts === + "./t1"; + +=== tests/cases/compiler/t4.ts === export { x as a } from >x : string >a : string diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.symbols b/tests/baselines/reference/exportDefaultAsyncFunction2.symbols index ac2034bcf53da..24663e9de8784 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.symbols +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.symbols @@ -21,9 +21,10 @@ export default async(() => await(Promise.resolve(1))); >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) === tests/cases/compiler/b.ts === + export default async () => { return 0; }; -No type information for this code. -No type information for this code.=== tests/cases/compiler/c.ts === + +=== tests/cases/compiler/c.ts === import { async, await } from 'asyncawait'; >async : Symbol(async, Decl(c.ts, 0, 8)) >await : Symbol(await, Decl(c.ts, 0, 15)) diff --git a/tests/baselines/reference/exportDefaultExpressionComments.symbols b/tests/baselines/reference/exportDefaultExpressionComments.symbols index a3a94331a56cd..6de3f2678c494 100644 --- a/tests/baselines/reference/exportDefaultExpressionComments.symbols +++ b/tests/baselines/reference/exportDefaultExpressionComments.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/declarationEmit/exportDefaultExpressionComments.ts === + /** -No type information for this code. * JSDoc Comments -No type information for this code. */ -No type information for this code.export default null -No type information for this code. -No type information for this code. \ No newline at end of file + * JSDoc Comments + */ +export default null + diff --git a/tests/baselines/reference/exportDefaultFunctionInNamespace.js b/tests/baselines/reference/exportDefaultFunctionInNamespace.js index 482611413b71f..92795aaae6c74 100644 --- a/tests/baselines/reference/exportDefaultFunctionInNamespace.js +++ b/tests/baselines/reference/exportDefaultFunctionInNamespace.js @@ -24,7 +24,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/exportDefaultInJsFile01.symbols b/tests/baselines/reference/exportDefaultInJsFile01.symbols index 154e097eac3a7..3af24d5be7d6f 100644 --- a/tests/baselines/reference/exportDefaultInJsFile01.symbols +++ b/tests/baselines/reference/exportDefaultInJsFile01.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/salsa/myFile01.js === + export default "hello"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultInJsFile01.types b/tests/baselines/reference/exportDefaultInJsFile01.types index 154e097eac3a7..3af24d5be7d6f 100644 --- a/tests/baselines/reference/exportDefaultInJsFile01.types +++ b/tests/baselines/reference/exportDefaultInJsFile01.types @@ -1,3 +1,3 @@ === tests/cases/conformance/salsa/myFile01.js === + export default "hello"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultInJsFile02.symbols b/tests/baselines/reference/exportDefaultInJsFile02.symbols index 936da57c0f63f..3fcfaa23f216e 100644 --- a/tests/baselines/reference/exportDefaultInJsFile02.symbols +++ b/tests/baselines/reference/exportDefaultInJsFile02.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/salsa/myFile02.js === + export default "hello"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultInJsFile02.types b/tests/baselines/reference/exportDefaultInJsFile02.types index 936da57c0f63f..3fcfaa23f216e 100644 --- a/tests/baselines/reference/exportDefaultInJsFile02.types +++ b/tests/baselines/reference/exportDefaultInJsFile02.types @@ -1,3 +1,3 @@ === tests/cases/conformance/salsa/myFile02.js === + export default "hello"; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultMissingName.symbols b/tests/baselines/reference/exportDefaultMissingName.symbols index 90bc4a7b1773c..f4e740ff2aa11 100644 --- a/tests/baselines/reference/exportDefaultMissingName.symbols +++ b/tests/baselines/reference/exportDefaultMissingName.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/exportDefaultMissingName.ts === + export default xyzzy; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultParenthesize.symbols b/tests/baselines/reference/exportDefaultParenthesize.symbols index b2291da3a9b8f..505776b2f6098 100644 --- a/tests/baselines/reference/exportDefaultParenthesize.symbols +++ b/tests/baselines/reference/exportDefaultParenthesize.symbols @@ -80,6 +80,6 @@ export default { }; === tests/cases/compiler/functionexpression.ts === + export default () => 42; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/exportDefaultWithJSDoc1.symbols b/tests/baselines/reference/exportDefaultWithJSDoc1.symbols index bad38b845bb09..7f79a1571a707 100644 --- a/tests/baselines/reference/exportDefaultWithJSDoc1.symbols +++ b/tests/baselines/reference/exportDefaultWithJSDoc1.symbols @@ -1,12 +1,13 @@ === tests/cases/compiler/a.js === + /** -No type information for this code. * A number, or a string containing a number. -No type information for this code. * @typedef {(number|string)} NumberLike -No type information for this code. */ -No type information for this code. -No type information for this code./** @type {NumberLike[]} */export default ([ ]); -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + * A number, or a string containing a number. + * @typedef {(number|string)} NumberLike + */ + +/** @type {NumberLike[]} */export default ([ ]); + +=== tests/cases/compiler/b.ts === import A from './a' >A : Symbol(A, Decl(b.ts, 0, 6)) diff --git a/tests/baselines/reference/exportDefaultWithJSDoc2.symbols b/tests/baselines/reference/exportDefaultWithJSDoc2.symbols index ff3e74a3fbe94..0b0f5445a393b 100644 --- a/tests/baselines/reference/exportDefaultWithJSDoc2.symbols +++ b/tests/baselines/reference/exportDefaultWithJSDoc2.symbols @@ -1,12 +1,13 @@ === tests/cases/compiler/a.js === + /** -No type information for this code. * A number, or a string containing a number. -No type information for this code. * @typedef {(number|string)} NumberLike -No type information for this code. */ -No type information for this code. -No type information for this code.export default /** @type {NumberLike[]} */([ ]); -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + * A number, or a string containing a number. + * @typedef {(number|string)} NumberLike + */ + +export default /** @type {NumberLike[]} */([ ]); + +=== tests/cases/compiler/b.ts === import A from './a' >A : Symbol(A, Decl(b.ts, 0, 6)) diff --git a/tests/baselines/reference/exportNamespace1.symbols b/tests/baselines/reference/exportNamespace1.symbols index b3212c06df35a..237640959009a 100644 --- a/tests/baselines/reference/exportNamespace1.symbols +++ b/tests/baselines/reference/exportNamespace1.symbols @@ -7,9 +7,10 @@ export type { A } from './a'; >A : Symbol(A, Decl(b.ts, 0, 13)) === tests/cases/conformance/externalModules/typeOnly/c.ts === + export * from './b'; -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/typeOnly/d.ts === + +=== tests/cases/conformance/externalModules/typeOnly/d.ts === import { A } from './c'; >A : Symbol(A, Decl(d.ts, 0, 8)) diff --git a/tests/baselines/reference/exportNamespace1.types b/tests/baselines/reference/exportNamespace1.types index 17a88aadaaad5..d816e106e3844 100644 --- a/tests/baselines/reference/exportNamespace1.types +++ b/tests/baselines/reference/exportNamespace1.types @@ -7,9 +7,10 @@ export type { A } from './a'; >A : import("tests/cases/conformance/externalModules/typeOnly/a").A === tests/cases/conformance/externalModules/typeOnly/c.ts === + export * from './b'; -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/typeOnly/d.ts === + +=== tests/cases/conformance/externalModules/typeOnly/d.ts === import { A } from './c'; >A : typeof A diff --git a/tests/baselines/reference/exportNamespace4.symbols b/tests/baselines/reference/exportNamespace4.symbols index 860bb80b87795..7e4d3712c41d9 100644 --- a/tests/baselines/reference/exportNamespace4.symbols +++ b/tests/baselines/reference/exportNamespace4.symbols @@ -3,9 +3,10 @@ export class A {} >A : Symbol(A, Decl(a.ts, 0, 0)) === tests/cases/conformance/externalModules/typeOnly/b.ts === + export type * from './a'; // Grammar error -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/typeOnly/c.ts === + +=== tests/cases/conformance/externalModules/typeOnly/c.ts === export type * as ns from './a'; // Grammar error >ns : Symbol(ns, Decl(c.ts, 0, 11)) diff --git a/tests/baselines/reference/exportNamespace4.types b/tests/baselines/reference/exportNamespace4.types index 457e238dcad3e..d1a496dad809d 100644 --- a/tests/baselines/reference/exportNamespace4.types +++ b/tests/baselines/reference/exportNamespace4.types @@ -3,9 +3,10 @@ export class A {} >A : A === tests/cases/conformance/externalModules/typeOnly/b.ts === + export type * from './a'; // Grammar error -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/typeOnly/c.ts === + +=== tests/cases/conformance/externalModules/typeOnly/c.ts === export type * as ns from './a'; // Grammar error >ns : typeof import("tests/cases/conformance/externalModules/typeOnly/a") diff --git a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration2.types b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration2.types index 3472ce6c5655e..54364cd6efe01 100644 --- a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration2.types +++ b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration2.types @@ -1,7 +1,8 @@ === tests/cases/compiler/exportSpecifierReferencingOuterDeclaration2_A.ts === + declare module X { export interface bar { } } -No type information for this code. -No type information for this code.=== tests/cases/compiler/exportSpecifierReferencingOuterDeclaration2_B.ts === + +=== tests/cases/compiler/exportSpecifierReferencingOuterDeclaration2_B.ts === export { X }; >X : any diff --git a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types index eb83726ae391f..9ec71065d0bf0 100644 --- a/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types +++ b/tests/baselines/reference/exportSpecifierReferencingOuterDeclaration4.types @@ -1,7 +1,8 @@ === tests/cases/compiler/exportSpecifierReferencingOuterDeclaration2_A.ts === + declare module X { export interface bar { } } -No type information for this code. -No type information for this code.=== tests/cases/compiler/exportSpecifierReferencingOuterDeclaration2_B.ts === + +=== tests/cases/compiler/exportSpecifierReferencingOuterDeclaration2_B.ts === declare module X { export interface foo { } } export { X }; >X : any diff --git a/tests/baselines/reference/exportStar-amd.symbols b/tests/baselines/reference/exportStar-amd.symbols index b559d4007a982..3cc365f8e2de2 100644 --- a/tests/baselines/reference/exportStar-amd.symbols +++ b/tests/baselines/reference/exportStar-amd.symbols @@ -26,11 +26,12 @@ export { x, y, z }; >z : Symbol(z, Decl(t3.ts, 3, 14)) === tests/cases/conformance/es6/modules/t4.ts === + export * from "./t1"; -No type information for this code.export * from "./t2"; -No type information for this code.export * from "./t3"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/modules/main.ts === +export * from "./t2"; +export * from "./t3"; + +=== tests/cases/conformance/es6/modules/main.ts === import hello, { x, y, z, foo } from "./t4"; >hello : Symbol(hello, Decl(main.ts, 0, 6)) >x : Symbol(x, Decl(main.ts, 0, 15)) diff --git a/tests/baselines/reference/exportStar-amd.types b/tests/baselines/reference/exportStar-amd.types index ed6f4befbb2c9..39d1c1ed12491 100644 --- a/tests/baselines/reference/exportStar-amd.types +++ b/tests/baselines/reference/exportStar-amd.types @@ -31,11 +31,12 @@ export { x, y, z }; >z : string === tests/cases/conformance/es6/modules/t4.ts === + export * from "./t1"; -No type information for this code.export * from "./t2"; -No type information for this code.export * from "./t3"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/modules/main.ts === +export * from "./t2"; +export * from "./t3"; + +=== tests/cases/conformance/es6/modules/main.ts === import hello, { x, y, z, foo } from "./t4"; >hello : any >x : number diff --git a/tests/baselines/reference/exportStar.symbols b/tests/baselines/reference/exportStar.symbols index b559d4007a982..3cc365f8e2de2 100644 --- a/tests/baselines/reference/exportStar.symbols +++ b/tests/baselines/reference/exportStar.symbols @@ -26,11 +26,12 @@ export { x, y, z }; >z : Symbol(z, Decl(t3.ts, 3, 14)) === tests/cases/conformance/es6/modules/t4.ts === + export * from "./t1"; -No type information for this code.export * from "./t2"; -No type information for this code.export * from "./t3"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/modules/main.ts === +export * from "./t2"; +export * from "./t3"; + +=== tests/cases/conformance/es6/modules/main.ts === import hello, { x, y, z, foo } from "./t4"; >hello : Symbol(hello, Decl(main.ts, 0, 6)) >x : Symbol(x, Decl(main.ts, 0, 15)) diff --git a/tests/baselines/reference/exportStar.types b/tests/baselines/reference/exportStar.types index ed6f4befbb2c9..39d1c1ed12491 100644 --- a/tests/baselines/reference/exportStar.types +++ b/tests/baselines/reference/exportStar.types @@ -31,11 +31,12 @@ export { x, y, z }; >z : string === tests/cases/conformance/es6/modules/t4.ts === + export * from "./t1"; -No type information for this code.export * from "./t2"; -No type information for this code.export * from "./t3"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/es6/modules/main.ts === +export * from "./t2"; +export * from "./t3"; + +=== tests/cases/conformance/es6/modules/main.ts === import hello, { x, y, z, foo } from "./t4"; >hello : any >x : number diff --git a/tests/baselines/reference/exportStarFromEmptyModule.symbols b/tests/baselines/reference/exportStarFromEmptyModule.symbols index 5d920a1dd8008..7ae2bd51187e7 100644 --- a/tests/baselines/reference/exportStarFromEmptyModule.symbols +++ b/tests/baselines/reference/exportStarFromEmptyModule.symbols @@ -7,9 +7,10 @@ export class A { } === tests/cases/compiler/exportStarFromEmptyModule_module2.ts === + // empty -No type information for this code. -No type information for this code.=== tests/cases/compiler/exportStarFromEmptyModule_module3.ts === + +=== tests/cases/compiler/exportStarFromEmptyModule_module3.ts === export * from "./exportStarFromEmptyModule_module2"; export * from "./exportStarFromEmptyModule_module1"; diff --git a/tests/baselines/reference/exportStarFromEmptyModule.types b/tests/baselines/reference/exportStarFromEmptyModule.types index 1486e5451a363..17cc780eac283 100644 --- a/tests/baselines/reference/exportStarFromEmptyModule.types +++ b/tests/baselines/reference/exportStarFromEmptyModule.types @@ -7,9 +7,10 @@ export class A { } === tests/cases/compiler/exportStarFromEmptyModule_module2.ts === + // empty -No type information for this code. -No type information for this code.=== tests/cases/compiler/exportStarFromEmptyModule_module3.ts === + +=== tests/cases/compiler/exportStarFromEmptyModule_module3.ts === export * from "./exportStarFromEmptyModule_module2"; export * from "./exportStarFromEmptyModule_module1"; diff --git a/tests/baselines/reference/exportTwoInterfacesWithSameName.types b/tests/baselines/reference/exportTwoInterfacesWithSameName.types index 4865183ebc889..359877ca375a5 100644 --- a/tests/baselines/reference/exportTwoInterfacesWithSameName.types +++ b/tests/baselines/reference/exportTwoInterfacesWithSameName.types @@ -1,5 +1,5 @@ === tests/cases/compiler/exportTwoInterfacesWithSameName.ts === + export interface I {} -No type information for this code.export interface I {} -No type information for this code. -No type information for this code. \ No newline at end of file +export interface I {} + diff --git a/tests/baselines/reference/exportsAndImports4-amd.symbols b/tests/baselines/reference/exportsAndImports4-amd.symbols index 6dfbc067c2e86..79e0cbca78f8b 100644 --- a/tests/baselines/reference/exportsAndImports4-amd.symbols +++ b/tests/baselines/reference/exportsAndImports4-amd.symbols @@ -62,6 +62,6 @@ export { a, b, c, d, e1, e2, f1, f2 }; >f2 : Symbol(f2, Decl(t3.ts, 14, 32)) === tests/cases/conformance/es6/modules/t1.ts === + export default "hello"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/exportsAndImports4-amd.types b/tests/baselines/reference/exportsAndImports4-amd.types index 6127765014a57..e194fd300049a 100644 --- a/tests/baselines/reference/exportsAndImports4-amd.types +++ b/tests/baselines/reference/exportsAndImports4-amd.types @@ -62,6 +62,6 @@ export { a, b, c, d, e1, e2, f1, f2 }; >f2 : "hello" === tests/cases/conformance/es6/modules/t1.ts === + export default "hello"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/exportsAndImports4-es6.symbols b/tests/baselines/reference/exportsAndImports4-es6.symbols index 6dfbc067c2e86..79e0cbca78f8b 100644 --- a/tests/baselines/reference/exportsAndImports4-es6.symbols +++ b/tests/baselines/reference/exportsAndImports4-es6.symbols @@ -62,6 +62,6 @@ export { a, b, c, d, e1, e2, f1, f2 }; >f2 : Symbol(f2, Decl(t3.ts, 14, 32)) === tests/cases/conformance/es6/modules/t1.ts === + export default "hello"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/exportsAndImports4-es6.types b/tests/baselines/reference/exportsAndImports4-es6.types index 6127765014a57..e194fd300049a 100644 --- a/tests/baselines/reference/exportsAndImports4-es6.types +++ b/tests/baselines/reference/exportsAndImports4-es6.types @@ -62,6 +62,6 @@ export { a, b, c, d, e1, e2, f1, f2 }; >f2 : "hello" === tests/cases/conformance/es6/modules/t1.ts === + export default "hello"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/exportsAndImports4.symbols b/tests/baselines/reference/exportsAndImports4.symbols index 6dfbc067c2e86..79e0cbca78f8b 100644 --- a/tests/baselines/reference/exportsAndImports4.symbols +++ b/tests/baselines/reference/exportsAndImports4.symbols @@ -62,6 +62,6 @@ export { a, b, c, d, e1, e2, f1, f2 }; >f2 : Symbol(f2, Decl(t3.ts, 14, 32)) === tests/cases/conformance/es6/modules/t1.ts === + export default "hello"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/exportsAndImports4.types b/tests/baselines/reference/exportsAndImports4.types index 6127765014a57..e194fd300049a 100644 --- a/tests/baselines/reference/exportsAndImports4.types +++ b/tests/baselines/reference/exportsAndImports4.types @@ -62,6 +62,6 @@ export { a, b, c, d, e1, e2, f1, f2 }; >f2 : "hello" === tests/cases/conformance/es6/modules/t1.ts === + export default "hello"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/expressionsForbiddenInParameterInitializers.js b/tests/baselines/reference/expressionsForbiddenInParameterInitializers.js index fc389fc91b11f..63daa63dfd21b 100644 --- a/tests/baselines/reference/expressionsForbiddenInParameterInitializers.js +++ b/tests/baselines/reference/expressionsForbiddenInParameterInitializers.js @@ -23,7 +23,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/extendArray.errors.txt b/tests/baselines/reference/extendArray.errors.txt index 68462606210e4..742773abec479 100644 --- a/tests/baselines/reference/extendArray.errors.txt +++ b/tests/baselines/reference/extendArray.errors.txt @@ -12,10 +12,10 @@ tests/cases/compiler/extendArray.ts(7,32): error TS2552: Cannot find name '_elem collect(fn:(e:_element) => _element[]) : any[]; ~~~~~~~~ !!! error TS2552: Cannot find name '_element'. Did you mean 'Element'? -!!! related TS2728 /.ts/lib.dom.d.ts:5089:13: 'Element' is declared here. +!!! related TS2728 /.ts/lib.dom.d.ts:5121:13: 'Element' is declared here. ~~~~~~~~ !!! error TS2552: Cannot find name '_element'. Did you mean 'Element'? -!!! related TS2728 /.ts/lib.dom.d.ts:5089:13: 'Element' is declared here. +!!! related TS2728 /.ts/lib.dom.d.ts:5121:13: 'Element' is declared here. } } diff --git a/tests/baselines/reference/externModule.errors.txt b/tests/baselines/reference/externModule.errors.txt index 134443d52d215..2edbcc5ad6078 100644 --- a/tests/baselines/reference/externModule.errors.txt +++ b/tests/baselines/reference/externModule.errors.txt @@ -66,20 +66,20 @@ tests/cases/compiler/externModule.ts(37,3): error TS2552: Cannot find name 'XDat var d=new XDate(); ~~~~~ !!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'? -!!! related TS2728 /.ts/lib.es5.d.ts:937:13: 'Date' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:938:13: 'Date' is declared here. d.getDay(); d=new XDate(1978,2); ~~~~~ !!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'? -!!! related TS2728 /.ts/lib.es5.d.ts:937:13: 'Date' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:938:13: 'Date' is declared here. d.getXDate(); var n=XDate.parse("3/2/2004"); ~~~~~ !!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'? -!!! related TS2728 /.ts/lib.es5.d.ts:937:13: 'Date' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:938:13: 'Date' is declared here. n=XDate.UTC(1964,2,1); ~~~~~ !!! error TS2552: Cannot find name 'XDate'. Did you mean 'Date'? -!!! related TS2728 /.ts/lib.es5.d.ts:937:13: 'Date' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:938:13: 'Date' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/externalModuleWithoutCompilerFlag1.types b/tests/baselines/reference/externalModuleWithoutCompilerFlag1.types index 5a7e6f6601e5d..caf80fe611816 100644 --- a/tests/baselines/reference/externalModuleWithoutCompilerFlag1.types +++ b/tests/baselines/reference/externalModuleWithoutCompilerFlag1.types @@ -1,5 +1,5 @@ === tests/cases/compiler/externalModuleWithoutCompilerFlag1.ts === + // Not on line 0 because we want to verify the error is placed in the appropriate location. -No type information for this code. export module M { -No type information for this code.} -No type information for this code. \ No newline at end of file + export module M { +} diff --git a/tests/baselines/reference/fileWithNextLine3.symbols b/tests/baselines/reference/fileWithNextLine3.symbols index 67bcad5eeb6ca..bf3b8905018e4 100644 --- a/tests/baselines/reference/fileWithNextLine3.symbols +++ b/tests/baselines/reference/fileWithNextLine3.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/fileWithNextLine3.ts === + // Note: there is a nextline (0x85) between the return and the -No type information for this code.// 0. It should be counted as a space and should not trigger ASI -No type information for this code.return…0; -No type information for this code. \ No newline at end of file +// 0. It should be counted as a space and should not trigger ASI +return…0; diff --git a/tests/baselines/reference/findAllRefsForStringLiteral.baseline.jsonc b/tests/baselines/reference/findAllRefsForStringLiteral.baseline.jsonc new file mode 100644 index 0000000000000..5cfaa3f509c15 --- /dev/null +++ b/tests/baselines/reference/findAllRefsForStringLiteral.baseline.jsonc @@ -0,0 +1,52 @@ +// === /a.ts === +// interface Foo { +// property: /*FIND ALL REFS*/"[|foo|]"; +// } +// /** +// * @type {{ property: "foo"}} +// */ +// const obj: Foo = { +// property: "[|foo|]", +// } + +[ + { + "definition": { + "containerKind": "", + "containerName": "", + "fileName": "/a.ts", + "kind": "var", + "name": "foo", + "textSpan": { + "start": 31, + "length": 3 + }, + "displayParts": [ + { + "text": "\"foo\"", + "kind": "stringLiteral" + } + ] + }, + "references": [ + { + "textSpan": { + "start": 31, + "length": 3 + }, + "fileName": "/a.ts", + "isWriteAccess": false, + "isInString": true + }, + { + "textSpan": { + "start": 111, + "length": 3 + }, + "fileName": "/a.ts", + "isWriteAccess": false, + "isInString": true + } + ] + } +] \ No newline at end of file diff --git a/tests/baselines/reference/forAwaitPerIterationBindingDownlevel.js b/tests/baselines/reference/forAwaitPerIterationBindingDownlevel.js index e23c070584670..0c1fd96d2dd04 100644 --- a/tests/baselines/reference/forAwaitPerIterationBindingDownlevel.js +++ b/tests/baselines/reference/forAwaitPerIterationBindingDownlevel.js @@ -40,7 +40,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -104,56 +104,63 @@ function gen() { } var log = console.log; (function () { return __awaiter(_this, void 0, void 0, function () { - var _loop_1, _a, _b, e_1_1; + var _loop_1, _a, _b, _c, e_1_1; var _this = this; - var e_1, _c; - return __generator(this, function (_d) { - switch (_d.label) { + var _d, e_1, _e, _f; + return __generator(this, function (_g) { + switch (_g.label) { case 0: - _d.trys.push([0, 5, 6, 11]); + _g.trys.push([0, 5, 6, 11]); _loop_1 = function () { - var outer = _b.value; - log("I'm loop ".concat(outer)); - (function () { return __awaiter(_this, void 0, void 0, function () { - var inner; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - inner = outer; - return [4 /*yield*/, sleep(2000)]; - case 1: - _a.sent(); - if (inner === outer) { - log("I'm loop ".concat(inner, " and I know I'm loop ").concat(outer)); - } - else { - log("I'm loop ".concat(inner, ", but I think I'm loop ").concat(outer)); - } - return [2 /*return*/]; - } - }); - }); })(); + _f = _c.value; + _a = false; + try { + var outer = _f; + log("I'm loop ".concat(outer)); + (function () { return __awaiter(_this, void 0, void 0, function () { + var inner; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + inner = outer; + return [4 /*yield*/, sleep(2000)]; + case 1: + _a.sent(); + if (inner === outer) { + log("I'm loop ".concat(inner, " and I know I'm loop ").concat(outer)); + } + else { + log("I'm loop ".concat(inner, ", but I think I'm loop ").concat(outer)); + } + return [2 /*return*/]; + } + }); + }); })(); + } + finally { + _a = true; + } }; - _a = __asyncValues(gen()); - _d.label = 1; - case 1: return [4 /*yield*/, _a.next()]; + _a = true, _b = __asyncValues(gen()); + _g.label = 1; + case 1: return [4 /*yield*/, _b.next()]; case 2: - if (!(_b = _d.sent(), !_b.done)) return [3 /*break*/, 4]; + if (!(_c = _g.sent(), _d = _c.done, !_d)) return [3 /*break*/, 4]; _loop_1(); - _d.label = 3; + _g.label = 3; case 3: return [3 /*break*/, 1]; case 4: return [3 /*break*/, 11]; case 5: - e_1_1 = _d.sent(); + e_1_1 = _g.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 11]; case 6: - _d.trys.push([6, , 9, 10]); - if (!(_b && !_b.done && (_c = _a.return))) return [3 /*break*/, 8]; - return [4 /*yield*/, _c.call(_a)]; + _g.trys.push([6, , 9, 10]); + if (!(!_a && !_d && (_e = _b.return))) return [3 /*break*/, 8]; + return [4 /*yield*/, _e.call(_b)]; case 7: - _d.sent(); - _d.label = 8; + _g.sent(); + _g.label = 8; case 8: return [3 /*break*/, 10]; case 9: if (e_1) throw e_1.error; diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameter.js b/tests/baselines/reference/genericInferenceDefaultTypeParameter.js new file mode 100644 index 0000000000000..3e57419215cc1 --- /dev/null +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameter.js @@ -0,0 +1,21 @@ +//// [genericInferenceDefaultTypeParameter.ts] +// Repro from #50858 + +type Type = { + a: (e: string) => void; + b: (e: number) => void; +} + +declare function f1(props: Type[T]): void; + +f1(event => { }); +f1<"a">(event => { }); +f1<"b">(event => { }); + + +//// [genericInferenceDefaultTypeParameter.js] +"use strict"; +// Repro from #50858 +f1(function (event) { }); +f1(function (event) { }); +f1(function (event) { }); diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameter.symbols b/tests/baselines/reference/genericInferenceDefaultTypeParameter.symbols new file mode 100644 index 0000000000000..999ca147ac770 --- /dev/null +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameter.symbols @@ -0,0 +1,35 @@ +=== tests/cases/compiler/genericInferenceDefaultTypeParameter.ts === +// Repro from #50858 + +type Type = { +>Type : Symbol(Type, Decl(genericInferenceDefaultTypeParameter.ts, 0, 0)) + + a: (e: string) => void; +>a : Symbol(a, Decl(genericInferenceDefaultTypeParameter.ts, 2, 13)) +>e : Symbol(e, Decl(genericInferenceDefaultTypeParameter.ts, 3, 8)) + + b: (e: number) => void; +>b : Symbol(b, Decl(genericInferenceDefaultTypeParameter.ts, 3, 27)) +>e : Symbol(e, Decl(genericInferenceDefaultTypeParameter.ts, 4, 8)) +} + +declare function f1(props: Type[T]): void; +>f1 : Symbol(f1, Decl(genericInferenceDefaultTypeParameter.ts, 5, 1)) +>T : Symbol(T, Decl(genericInferenceDefaultTypeParameter.ts, 7, 20)) +>Type : Symbol(Type, Decl(genericInferenceDefaultTypeParameter.ts, 0, 0)) +>props : Symbol(props, Decl(genericInferenceDefaultTypeParameter.ts, 7, 48)) +>Type : Symbol(Type, Decl(genericInferenceDefaultTypeParameter.ts, 0, 0)) +>T : Symbol(T, Decl(genericInferenceDefaultTypeParameter.ts, 7, 20)) + +f1(event => { }); +>f1 : Symbol(f1, Decl(genericInferenceDefaultTypeParameter.ts, 5, 1)) +>event : Symbol(event, Decl(genericInferenceDefaultTypeParameter.ts, 9, 3)) + +f1<"a">(event => { }); +>f1 : Symbol(f1, Decl(genericInferenceDefaultTypeParameter.ts, 5, 1)) +>event : Symbol(event, Decl(genericInferenceDefaultTypeParameter.ts, 10, 8)) + +f1<"b">(event => { }); +>f1 : Symbol(f1, Decl(genericInferenceDefaultTypeParameter.ts, 5, 1)) +>event : Symbol(event, Decl(genericInferenceDefaultTypeParameter.ts, 11, 8)) + diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameter.types b/tests/baselines/reference/genericInferenceDefaultTypeParameter.types new file mode 100644 index 0000000000000..9b35a11dc4228 --- /dev/null +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameter.types @@ -0,0 +1,37 @@ +=== tests/cases/compiler/genericInferenceDefaultTypeParameter.ts === +// Repro from #50858 + +type Type = { +>Type : { a: (e: string) => void; b: (e: number) => void; } + + a: (e: string) => void; +>a : (e: string) => void +>e : string + + b: (e: number) => void; +>b : (e: number) => void +>e : number +} + +declare function f1(props: Type[T]): void; +>f1 : (props: Type[T]) => void +>props : Type[T] + +f1(event => { }); +>f1(event => { }) : void +>f1 : (props: Type[T]) => void +>event => { } : (event: string) => void +>event : string + +f1<"a">(event => { }); +>f1<"a">(event => { }) : void +>f1 : (props: Type[T]) => void +>event => { } : (event: string) => void +>event : string + +f1<"b">(event => { }); +>f1<"b">(event => { }) : void +>f1 : (props: Type[T]) => void +>event => { } : (event: number) => void +>event : number + diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.js b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.js new file mode 100644 index 0000000000000..011c8b4d995f8 --- /dev/null +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.js @@ -0,0 +1,29 @@ +//// [genericInferenceDefaultTypeParameterJsxReact.tsx] +/// + +// Repro from #50858 + +import React, { ComponentPropsWithRef, ElementType, ReactNode } from 'react'; + +type ButtonBaseProps = ComponentPropsWithRef & { children?: ReactNode }; + +function Component(props: ButtonBaseProps) { + return <>; +} + +const v1 = e.preventDefault()} />; + + +//// [genericInferenceDefaultTypeParameterJsxReact.js] +"use strict"; +/// +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +exports.__esModule = true; +// Repro from #50858 +var react_1 = __importDefault(require("react")); +function Component(props) { + return react_1["default"].createElement(react_1["default"].Fragment, null); +} +var v1 = react_1["default"].createElement(Component, { onClick: function (e) { return e.preventDefault(); } }); diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.symbols b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.symbols new file mode 100644 index 0000000000000..e5fff8879efc8 --- /dev/null +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.symbols @@ -0,0 +1,40 @@ +=== tests/cases/compiler/genericInferenceDefaultTypeParameterJsxReact.tsx === +/// + +// Repro from #50858 + +import React, { ComponentPropsWithRef, ElementType, ReactNode } from 'react'; +>React : Symbol(React, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 6)) +>ComponentPropsWithRef : Symbol(ComponentPropsWithRef, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 15)) +>ElementType : Symbol(ElementType, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 38)) +>ReactNode : Symbol(ReactNode, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 51)) + +type ButtonBaseProps = ComponentPropsWithRef & { children?: ReactNode }; +>ButtonBaseProps : Symbol(ButtonBaseProps, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 77)) +>T : Symbol(T, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 6, 21)) +>ElementType : Symbol(ElementType, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 38)) +>ComponentPropsWithRef : Symbol(ComponentPropsWithRef, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 15)) +>T : Symbol(T, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 6, 21)) +>children : Symbol(children, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 6, 74)) +>ReactNode : Symbol(ReactNode, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 51)) + +function Component(props: ButtonBaseProps) { +>Component : Symbol(Component, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 6, 98)) +>T : Symbol(T, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 8, 19)) +>ElementType : Symbol(ElementType, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 38)) +>props : Symbol(props, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 8, 51)) +>ButtonBaseProps : Symbol(ButtonBaseProps, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 4, 77)) +>T : Symbol(T, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 8, 19)) + + return <>; +} + +const v1 = e.preventDefault()} />; +>v1 : Symbol(v1, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 12, 5)) +>Component : Symbol(Component, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 6, 98)) +>onClick : Symbol(onClick, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 12, 21)) +>e : Symbol(e, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 12, 31)) +>e.preventDefault : Symbol(React.SyntheticEvent.preventDefault, Decl(react16.d.ts, 642, 31)) +>e : Symbol(e, Decl(genericInferenceDefaultTypeParameterJsxReact.tsx, 12, 31)) +>preventDefault : Symbol(React.SyntheticEvent.preventDefault, Decl(react16.d.ts, 642, 31)) + diff --git a/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types new file mode 100644 index 0000000000000..357408d93bdde --- /dev/null +++ b/tests/baselines/reference/genericInferenceDefaultTypeParameterJsxReact.types @@ -0,0 +1,35 @@ +=== tests/cases/compiler/genericInferenceDefaultTypeParameterJsxReact.tsx === +/// + +// Repro from #50858 + +import React, { ComponentPropsWithRef, ElementType, ReactNode } from 'react'; +>React : typeof React +>ComponentPropsWithRef : any +>ElementType : any +>ReactNode : any + +type ButtonBaseProps = ComponentPropsWithRef & { children?: ReactNode }; +>ButtonBaseProps : ButtonBaseProps +>children : React.ReactNode + +function Component(props: ButtonBaseProps) { +>Component : = "span">(props: ButtonBaseProps) => JSX.Element +>props : ButtonBaseProps + + return <>; +><> : JSX.Element +} + +const v1 = e.preventDefault()} />; +>v1 : JSX.Element +> e.preventDefault()} /> : JSX.Element +>Component : = "span">(props: ButtonBaseProps) => JSX.Element +>onClick : (e: React.MouseEvent) => void +>e => e.preventDefault() : (e: React.MouseEvent) => void +>e : React.MouseEvent +>e.preventDefault() : void +>e.preventDefault : () => void +>e : React.MouseEvent +>preventDefault : () => void + diff --git a/tests/baselines/reference/genericMappedTypeAsClause.errors.txt b/tests/baselines/reference/genericMappedTypeAsClause.errors.txt new file mode 100644 index 0000000000000..35c7395979cf1 --- /dev/null +++ b/tests/baselines/reference/genericMappedTypeAsClause.errors.txt @@ -0,0 +1,48 @@ +tests/cases/compiler/genericMappedTypeAsClause.ts(11,36): error TS2322: Type 'string' is not assignable to type 'number'. +tests/cases/compiler/genericMappedTypeAsClause.ts(14,11): error TS2322: Type 'number' is not assignable to type 'MappedModel'. +tests/cases/compiler/genericMappedTypeAsClause.ts(15,11): error TS2322: Type 'string' is not assignable to type 'MappedModel'. +tests/cases/compiler/genericMappedTypeAsClause.ts(16,11): error TS2322: Type 'number[]' is not assignable to type 'MappedModel'. +tests/cases/compiler/genericMappedTypeAsClause.ts(17,11): error TS2322: Type 'boolean' is not assignable to type 'MappedModel'. +tests/cases/compiler/genericMappedTypeAsClause.ts(18,34): error TS2322: Type '{ a: string; b: number; }' is not assignable to type 'MappedModel'. + Object literal may only specify known properties, and 'a' does not exist in type 'MappedModel'. +tests/cases/compiler/genericMappedTypeAsClause.ts(19,11): error TS2322: Type 'undefined' is not assignable to type 'MappedModel'. + + +==== tests/cases/compiler/genericMappedTypeAsClause.ts (7 errors) ==== + type Model = { + a: string; + b: number; + }; + + type MappedModel = { + [K in keyof Model as `${K}${Suffix}`]: Model[K]; + }; + + const foo1: MappedModel<'Foo'> = { aFoo: 'test', bFoo: 42 }; + const foo2: MappedModel<'Foo'> = { bFoo: 'bar' }; // Error + ~~~~ +!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! related TS6500 tests/cases/compiler/genericMappedTypeAsClause.ts:6:43: The expected type comes from property 'bFoo' which is declared here on type 'MappedModel<"Foo">' + + function f1() { + const x1: MappedModel = 42; // Error + ~~ +!!! error TS2322: Type 'number' is not assignable to type 'MappedModel'. + const x2: MappedModel = 'test'; // Error + ~~ +!!! error TS2322: Type 'string' is not assignable to type 'MappedModel'. + const x3: MappedModel = [1, 2, 3]; // Error + ~~ +!!! error TS2322: Type 'number[]' is not assignable to type 'MappedModel'. + const x4: MappedModel = false; // Error + ~~ +!!! error TS2322: Type 'boolean' is not assignable to type 'MappedModel'. + const x5: MappedModel = { a: 'bar', b: 42 }; // Error + ~~~~~~~~ +!!! error TS2322: Type '{ a: string; b: number; }' is not assignable to type 'MappedModel'. +!!! error TS2322: Object literal may only specify known properties, and 'a' does not exist in type 'MappedModel'. + const x6: MappedModel = undefined; // Error + ~~ +!!! error TS2322: Type 'undefined' is not assignable to type 'MappedModel'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/genericMappedTypeAsClause.js b/tests/baselines/reference/genericMappedTypeAsClause.js new file mode 100644 index 0000000000000..0e11eb753995a --- /dev/null +++ b/tests/baselines/reference/genericMappedTypeAsClause.js @@ -0,0 +1,35 @@ +//// [genericMappedTypeAsClause.ts] +type Model = { + a: string; + b: number; +}; + +type MappedModel = { + [K in keyof Model as `${K}${Suffix}`]: Model[K]; +}; + +const foo1: MappedModel<'Foo'> = { aFoo: 'test', bFoo: 42 }; +const foo2: MappedModel<'Foo'> = { bFoo: 'bar' }; // Error + +function f1() { + const x1: MappedModel = 42; // Error + const x2: MappedModel = 'test'; // Error + const x3: MappedModel = [1, 2, 3]; // Error + const x4: MappedModel = false; // Error + const x5: MappedModel = { a: 'bar', b: 42 }; // Error + const x6: MappedModel = undefined; // Error +} + + +//// [genericMappedTypeAsClause.js] +"use strict"; +var foo1 = { aFoo: 'test', bFoo: 42 }; +var foo2 = { bFoo: 'bar' }; // Error +function f1() { + var x1 = 42; // Error + var x2 = 'test'; // Error + var x3 = [1, 2, 3]; // Error + var x4 = false; // Error + var x5 = { a: 'bar', b: 42 }; // Error + var x6 = undefined; // Error +} diff --git a/tests/baselines/reference/genericMappedTypeAsClause.symbols b/tests/baselines/reference/genericMappedTypeAsClause.symbols new file mode 100644 index 0000000000000..c0d563564cd88 --- /dev/null +++ b/tests/baselines/reference/genericMappedTypeAsClause.symbols @@ -0,0 +1,75 @@ +=== tests/cases/compiler/genericMappedTypeAsClause.ts === +type Model = { +>Model : Symbol(Model, Decl(genericMappedTypeAsClause.ts, 0, 0)) + + a: string; +>a : Symbol(a, Decl(genericMappedTypeAsClause.ts, 0, 14)) + + b: number; +>b : Symbol(b, Decl(genericMappedTypeAsClause.ts, 1, 14)) + +}; + +type MappedModel = { +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>Suffix : Symbol(Suffix, Decl(genericMappedTypeAsClause.ts, 5, 17)) + + [K in keyof Model as `${K}${Suffix}`]: Model[K]; +>K : Symbol(K, Decl(genericMappedTypeAsClause.ts, 6, 5)) +>Model : Symbol(Model, Decl(genericMappedTypeAsClause.ts, 0, 0)) +>K : Symbol(K, Decl(genericMappedTypeAsClause.ts, 6, 5)) +>Suffix : Symbol(Suffix, Decl(genericMappedTypeAsClause.ts, 5, 17)) +>Model : Symbol(Model, Decl(genericMappedTypeAsClause.ts, 0, 0)) +>K : Symbol(K, Decl(genericMappedTypeAsClause.ts, 6, 5)) + +}; + +const foo1: MappedModel<'Foo'> = { aFoo: 'test', bFoo: 42 }; +>foo1 : Symbol(foo1, Decl(genericMappedTypeAsClause.ts, 9, 5)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>aFoo : Symbol(aFoo, Decl(genericMappedTypeAsClause.ts, 9, 34)) +>bFoo : Symbol(bFoo, Decl(genericMappedTypeAsClause.ts, 9, 48)) + +const foo2: MappedModel<'Foo'> = { bFoo: 'bar' }; // Error +>foo2 : Symbol(foo2, Decl(genericMappedTypeAsClause.ts, 10, 5)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>bFoo : Symbol(bFoo, Decl(genericMappedTypeAsClause.ts, 10, 34)) + +function f1() { +>f1 : Symbol(f1, Decl(genericMappedTypeAsClause.ts, 10, 49)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) + + const x1: MappedModel = 42; // Error +>x1 : Symbol(x1, Decl(genericMappedTypeAsClause.ts, 13, 9)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) + + const x2: MappedModel = 'test'; // Error +>x2 : Symbol(x2, Decl(genericMappedTypeAsClause.ts, 14, 9)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) + + const x3: MappedModel = [1, 2, 3]; // Error +>x3 : Symbol(x3, Decl(genericMappedTypeAsClause.ts, 15, 9)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) + + const x4: MappedModel = false; // Error +>x4 : Symbol(x4, Decl(genericMappedTypeAsClause.ts, 16, 9)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) + + const x5: MappedModel = { a: 'bar', b: 42 }; // Error +>x5 : Symbol(x5, Decl(genericMappedTypeAsClause.ts, 17, 9)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) +>a : Symbol(a, Decl(genericMappedTypeAsClause.ts, 17, 32)) +>b : Symbol(b, Decl(genericMappedTypeAsClause.ts, 17, 42)) + + const x6: MappedModel = undefined; // Error +>x6 : Symbol(x6, Decl(genericMappedTypeAsClause.ts, 18, 9)) +>MappedModel : Symbol(MappedModel, Decl(genericMappedTypeAsClause.ts, 3, 2)) +>T : Symbol(T, Decl(genericMappedTypeAsClause.ts, 12, 12)) +>undefined : Symbol(undefined) +} + diff --git a/tests/baselines/reference/genericMappedTypeAsClause.types b/tests/baselines/reference/genericMappedTypeAsClause.types new file mode 100644 index 0000000000000..478011afea431 --- /dev/null +++ b/tests/baselines/reference/genericMappedTypeAsClause.types @@ -0,0 +1,67 @@ +=== tests/cases/compiler/genericMappedTypeAsClause.ts === +type Model = { +>Model : { a: string; b: number; } + + a: string; +>a : string + + b: number; +>b : number + +}; + +type MappedModel = { +>MappedModel : MappedModel + + [K in keyof Model as `${K}${Suffix}`]: Model[K]; +}; + +const foo1: MappedModel<'Foo'> = { aFoo: 'test', bFoo: 42 }; +>foo1 : MappedModel<"Foo"> +>{ aFoo: 'test', bFoo: 42 } : { aFoo: string; bFoo: number; } +>aFoo : string +>'test' : "test" +>bFoo : number +>42 : 42 + +const foo2: MappedModel<'Foo'> = { bFoo: 'bar' }; // Error +>foo2 : MappedModel<"Foo"> +>{ bFoo: 'bar' } : { bFoo: string; } +>bFoo : string +>'bar' : "bar" + +function f1() { +>f1 : () => void + + const x1: MappedModel = 42; // Error +>x1 : MappedModel +>42 : 42 + + const x2: MappedModel = 'test'; // Error +>x2 : MappedModel +>'test' : "test" + + const x3: MappedModel = [1, 2, 3]; // Error +>x3 : MappedModel +>[1, 2, 3] : number[] +>1 : 1 +>2 : 2 +>3 : 3 + + const x4: MappedModel = false; // Error +>x4 : MappedModel +>false : false + + const x5: MappedModel = { a: 'bar', b: 42 }; // Error +>x5 : MappedModel +>{ a: 'bar', b: 42 } : { a: string; b: number; } +>a : string +>'bar' : "bar" +>b : number +>42 : 42 + + const x6: MappedModel = undefined; // Error +>x6 : MappedModel +>undefined : undefined +} + diff --git a/tests/baselines/reference/genericTypeUsedWithoutTypeArguments3.types b/tests/baselines/reference/genericTypeUsedWithoutTypeArguments3.types index a04e40bdfba22..96f2409a484aa 100644 --- a/tests/baselines/reference/genericTypeUsedWithoutTypeArguments3.types +++ b/tests/baselines/reference/genericTypeUsedWithoutTypeArguments3.types @@ -1,5 +1,5 @@ === tests/cases/compiler/genericTypeUsedWithoutTypeArguments3.ts === + interface Foo { } -No type information for this code.interface Bar extends Foo { } -No type information for this code. -No type information for this code. \ No newline at end of file +interface Bar extends Foo { } + diff --git a/tests/baselines/reference/globalThisBlockscopedProperties.types b/tests/baselines/reference/globalThisBlockscopedProperties.types index c54b9367c4c2b..66cb294d0643e 100644 --- a/tests/baselines/reference/globalThisBlockscopedProperties.types +++ b/tests/baselines/reference/globalThisBlockscopedProperties.types @@ -64,6 +64,6 @@ declare let test3: (typeof globalThis)['z'] // error >globalThis : typeof globalThis declare let themAll: keyof typeof globalThis ->themAll : "undefined" | "x" | "globalThis" | "eval" | "parseInt" | "parseFloat" | "isNaN" | "isFinite" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "unescape" | "NaN" | "Infinity" | "Object" | "Function" | "String" | "Boolean" | "Number" | "Math" | "Date" | "RegExp" | "Error" | "EvalError" | "RangeError" | "ReferenceError" | "SyntaxError" | "TypeError" | "URIError" | "JSON" | "Array" | "ArrayBuffer" | "DataView" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "Intl" | "alert" | "blur" | "cancelIdleCallback" | "captureEvents" | "close" | "confirm" | "focus" | "getComputedStyle" | "getSelection" | "matchMedia" | "moveBy" | "moveTo" | "open" | "postMessage" | "print" | "prompt" | "releaseEvents" | "requestIdleCallback" | "resizeBy" | "resizeTo" | "scroll" | "scrollBy" | "scrollTo" | "stop" | "toString" | "dispatchEvent" | "cancelAnimationFrame" | "requestAnimationFrame" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "createImageBitmap" | "fetch" | "queueMicrotask" | "reportError" | "setInterval" | "setTimeout" | "structuredClone" | "addEventListener" | "removeEventListener" | "NodeFilter" | "AbortController" | "AbortSignal" | "AbstractRange" | "AnalyserNode" | "Animation" | "AnimationEffect" | "AnimationEvent" | "AnimationPlaybackEvent" | "AnimationTimeline" | "Attr" | "AudioBuffer" | "AudioBufferSourceNode" | "AudioContext" | "AudioDestinationNode" | "AudioListener" | "AudioNode" | "AudioParam" | "AudioParamMap" | "AudioProcessingEvent" | "AudioScheduledSourceNode" | "AudioWorklet" | "AudioWorkletNode" | "AuthenticatorAssertionResponse" | "AuthenticatorAttestationResponse" | "AuthenticatorResponse" | "BarProp" | "BaseAudioContext" | "BeforeUnloadEvent" | "BiquadFilterNode" | "Blob" | "BlobEvent" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CDATASection" | "CSSAnimation" | "CSSConditionRule" | "CSSCounterStyleRule" | "CSSFontFaceRule" | "CSSFontPaletteValuesRule" | "CSSGroupingRule" | "CSSImportRule" | "CSSKeyframeRule" | "CSSKeyframesRule" | "CSSLayerBlockRule" | "CSSLayerStatementRule" | "CSSMediaRule" | "CSSNamespaceRule" | "CSSPageRule" | "CSSRule" | "CSSRuleList" | "CSSStyleDeclaration" | "CSSStyleRule" | "CSSStyleSheet" | "CSSSupportsRule" | "CSSTransition" | "Cache" | "CacheStorage" | "CanvasCaptureMediaStreamTrack" | "CanvasGradient" | "CanvasPattern" | "CanvasRenderingContext2D" | "ChannelMergerNode" | "ChannelSplitterNode" | "CharacterData" | "Clipboard" | "ClipboardEvent" | "ClipboardItem" | "CloseEvent" | "Comment" | "CompositionEvent" | "ConstantSourceNode" | "ConvolverNode" | "CountQueuingStrategy" | "Credential" | "CredentialsContainer" | "Crypto" | "CryptoKey" | "CustomElementRegistry" | "CustomEvent" | "DOMException" | "DOMImplementation" | "DOMMatrix" | "SVGMatrix" | "WebKitCSSMatrix" | "DOMMatrixReadOnly" | "DOMParser" | "DOMPoint" | "SVGPoint" | "DOMPointReadOnly" | "DOMQuad" | "DOMRect" | "SVGRect" | "DOMRectList" | "DOMRectReadOnly" | "DOMStringList" | "DOMStringMap" | "DOMTokenList" | "DataTransfer" | "DataTransferItem" | "DataTransferItemList" | "DelayNode" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "Document" | "DocumentFragment" | "DocumentTimeline" | "DocumentType" | "DragEvent" | "DynamicsCompressorNode" | "Element" | "ElementInternals" | "ErrorEvent" | "Event" | "EventCounts" | "EventSource" | "EventTarget" | "External" | "File" | "FileList" | "FileReader" | "FileSystem" | "FileSystemDirectoryEntry" | "FileSystemDirectoryHandle" | "FileSystemDirectoryReader" | "FileSystemEntry" | "FileSystemFileEntry" | "FileSystemFileHandle" | "FileSystemHandle" | "FocusEvent" | "FontFace" | "FontFaceSet" | "FontFaceSetLoadEvent" | "FormData" | "FormDataEvent" | "GainNode" | "Gamepad" | "GamepadButton" | "GamepadEvent" | "GamepadHapticActuator" | "Geolocation" | "GeolocationCoordinates" | "GeolocationPosition" | "GeolocationPositionError" | "HTMLAllCollection" | "HTMLAnchorElement" | "HTMLAreaElement" | "HTMLAudioElement" | "HTMLBRElement" | "HTMLBaseElement" | "HTMLBodyElement" | "HTMLButtonElement" | "HTMLCanvasElement" | "HTMLCollection" | "HTMLDListElement" | "HTMLDataElement" | "HTMLDataListElement" | "HTMLDetailsElement" | "HTMLDialogElement" | "HTMLDirectoryElement" | "HTMLDivElement" | "HTMLDocument" | "HTMLElement" | "HTMLEmbedElement" | "HTMLFieldSetElement" | "HTMLFontElement" | "HTMLFormControlsCollection" | "HTMLFormElement" | "HTMLFrameElement" | "HTMLFrameSetElement" | "HTMLHRElement" | "HTMLHeadElement" | "HTMLHeadingElement" | "HTMLHtmlElement" | "HTMLIFrameElement" | "HTMLImageElement" | "HTMLInputElement" | "HTMLLIElement" | "HTMLLabelElement" | "HTMLLegendElement" | "HTMLLinkElement" | "HTMLMapElement" | "HTMLMarqueeElement" | "HTMLMediaElement" | "HTMLMenuElement" | "HTMLMetaElement" | "HTMLMeterElement" | "HTMLModElement" | "HTMLOListElement" | "HTMLObjectElement" | "HTMLOptGroupElement" | "HTMLOptionElement" | "HTMLOptionsCollection" | "HTMLOutputElement" | "HTMLParagraphElement" | "HTMLParamElement" | "HTMLPictureElement" | "HTMLPreElement" | "HTMLProgressElement" | "HTMLQuoteElement" | "HTMLScriptElement" | "HTMLSelectElement" | "HTMLSlotElement" | "HTMLSourceElement" | "HTMLSpanElement" | "HTMLStyleElement" | "HTMLTableCaptionElement" | "HTMLTableCellElement" | "HTMLTableColElement" | "HTMLTableElement" | "HTMLTableRowElement" | "HTMLTableSectionElement" | "HTMLTemplateElement" | "HTMLTextAreaElement" | "HTMLTimeElement" | "HTMLTitleElement" | "HTMLTrackElement" | "HTMLUListElement" | "HTMLUnknownElement" | "HTMLVideoElement" | "HashChangeEvent" | "Headers" | "History" | "IDBCursor" | "IDBCursorWithValue" | "IDBDatabase" | "IDBFactory" | "IDBIndex" | "IDBKeyRange" | "IDBObjectStore" | "IDBOpenDBRequest" | "IDBRequest" | "IDBTransaction" | "IDBVersionChangeEvent" | "IIRFilterNode" | "IdleDeadline" | "ImageBitmap" | "ImageBitmapRenderingContext" | "ImageData" | "InputDeviceInfo" | "InputEvent" | "IntersectionObserver" | "IntersectionObserverEntry" | "KeyboardEvent" | "KeyframeEffect" | "Location" | "Lock" | "LockManager" | "MathMLElement" | "MediaCapabilities" | "MediaDeviceInfo" | "MediaDevices" | "MediaElementAudioSourceNode" | "MediaEncryptedEvent" | "MediaError" | "MediaKeyMessageEvent" | "MediaKeySession" | "MediaKeyStatusMap" | "MediaKeySystemAccess" | "MediaKeys" | "MediaList" | "MediaMetadata" | "MediaQueryList" | "MediaQueryListEvent" | "MediaRecorder" | "MediaSession" | "MediaSource" | "MediaStream" | "MediaStreamAudioDestinationNode" | "MediaStreamAudioSourceNode" | "MediaStreamTrack" | "MediaStreamTrackEvent" | "MessageChannel" | "MessageEvent" | "MessagePort" | "MimeType" | "MimeTypeArray" | "MouseEvent" | "MutationEvent" | "MutationObserver" | "MutationRecord" | "NamedNodeMap" | "NavigationPreloadManager" | "Navigator" | "Node" | "NodeIterator" | "NodeList" | "Notification" | "OfflineAudioCompletionEvent" | "OfflineAudioContext" | "OscillatorNode" | "OverconstrainedError" | "PageTransitionEvent" | "PannerNode" | "Path2D" | "PaymentMethodChangeEvent" | "PaymentRequest" | "PaymentRequestUpdateEvent" | "PaymentResponse" | "Performance" | "PerformanceEntry" | "PerformanceEventTiming" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceNavigation" | "PerformanceNavigationTiming" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformancePaintTiming" | "PerformanceResourceTiming" | "PerformanceServerTiming" | "PerformanceTiming" | "PeriodicWave" | "PermissionStatus" | "Permissions" | "PictureInPictureEvent" | "PictureInPictureWindow" | "Plugin" | "PluginArray" | "PointerEvent" | "PopStateEvent" | "ProcessingInstruction" | "ProgressEvent" | "PromiseRejectionEvent" | "PublicKeyCredential" | "PushManager" | "PushSubscription" | "PushSubscriptionOptions" | "RTCCertificate" | "RTCDTMFSender" | "RTCDTMFToneChangeEvent" | "RTCDataChannel" | "RTCDataChannelEvent" | "RTCDtlsTransport" | "RTCEncodedAudioFrame" | "RTCEncodedVideoFrame" | "RTCError" | "RTCErrorEvent" | "RTCIceCandidate" | "RTCIceTransport" | "RTCPeerConnection" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCRtpReceiver" | "RTCRtpSender" | "RTCRtpTransceiver" | "RTCSctpTransport" | "RTCSessionDescription" | "RTCStatsReport" | "RTCTrackEvent" | "RadioNodeList" | "Range" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "RemotePlayback" | "Request" | "ResizeObserver" | "ResizeObserverEntry" | "ResizeObserverSize" | "Response" | "SVGAElement" | "SVGAngle" | "SVGAnimateElement" | "SVGAnimateMotionElement" | "SVGAnimateTransformElement" | "SVGAnimatedAngle" | "SVGAnimatedBoolean" | "SVGAnimatedEnumeration" | "SVGAnimatedInteger" | "SVGAnimatedLength" | "SVGAnimatedLengthList" | "SVGAnimatedNumber" | "SVGAnimatedNumberList" | "SVGAnimatedPreserveAspectRatio" | "SVGAnimatedRect" | "SVGAnimatedString" | "SVGAnimatedTransformList" | "SVGAnimationElement" | "SVGCircleElement" | "SVGClipPathElement" | "SVGComponentTransferFunctionElement" | "SVGDefsElement" | "SVGDescElement" | "SVGElement" | "SVGEllipseElement" | "SVGFEBlendElement" | "SVGFEColorMatrixElement" | "SVGFEComponentTransferElement" | "SVGFECompositeElement" | "SVGFEConvolveMatrixElement" | "SVGFEDiffuseLightingElement" | "SVGFEDisplacementMapElement" | "SVGFEDistantLightElement" | "SVGFEDropShadowElement" | "SVGFEFloodElement" | "SVGFEFuncAElement" | "SVGFEFuncBElement" | "SVGFEFuncGElement" | "SVGFEFuncRElement" | "SVGFEGaussianBlurElement" | "SVGFEImageElement" | "SVGFEMergeElement" | "SVGFEMergeNodeElement" | "SVGFEMorphologyElement" | "SVGFEOffsetElement" | "SVGFEPointLightElement" | "SVGFESpecularLightingElement" | "SVGFESpotLightElement" | "SVGFETileElement" | "SVGFETurbulenceElement" | "SVGFilterElement" | "SVGForeignObjectElement" | "SVGGElement" | "SVGGeometryElement" | "SVGGradientElement" | "SVGGraphicsElement" | "SVGImageElement" | "SVGLength" | "SVGLengthList" | "SVGLineElement" | "SVGLinearGradientElement" | "SVGMPathElement" | "SVGMarkerElement" | "SVGMaskElement" | "SVGMetadataElement" | "SVGNumber" | "SVGNumberList" | "SVGPathElement" | "SVGPatternElement" | "SVGPointList" | "SVGPolygonElement" | "SVGPolylineElement" | "SVGPreserveAspectRatio" | "SVGRadialGradientElement" | "SVGRectElement" | "SVGSVGElement" | "SVGScriptElement" | "SVGSetElement" | "SVGStopElement" | "SVGStringList" | "SVGStyleElement" | "SVGSwitchElement" | "SVGSymbolElement" | "SVGTSpanElement" | "SVGTextContentElement" | "SVGTextElement" | "SVGTextPathElement" | "SVGTextPositioningElement" | "SVGTitleElement" | "SVGTransform" | "SVGTransformList" | "SVGUnitTypes" | "SVGUseElement" | "SVGViewElement" | "Screen" | "ScreenOrientation" | "ScriptProcessorNode" | "SecurityPolicyViolationEvent" | "Selection" | "ServiceWorker" | "ServiceWorkerContainer" | "ServiceWorkerRegistration" | "ShadowRoot" | "SharedWorker" | "SourceBuffer" | "SourceBufferList" | "SpeechRecognitionAlternative" | "SpeechRecognitionResult" | "SpeechRecognitionResultList" | "SpeechSynthesis" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "SpeechSynthesisUtterance" | "SpeechSynthesisVoice" | "StaticRange" | "StereoPannerNode" | "Storage" | "StorageEvent" | "StorageManager" | "StyleSheet" | "StyleSheetList" | "SubmitEvent" | "SubtleCrypto" | "Text" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TextMetrics" | "TextTrack" | "TextTrackCue" | "TextTrackCueList" | "TextTrackList" | "TimeRanges" | "Touch" | "TouchEvent" | "TouchList" | "TrackEvent" | "TransformStream" | "TransformStreamDefaultController" | "TransitionEvent" | "TreeWalker" | "UIEvent" | "URL" | "webkitURL" | "URLSearchParams" | "VTTCue" | "VTTRegion" | "ValidityState" | "VideoColorSpace" | "VideoPlaybackQuality" | "VisualViewport" | "WaveShaperNode" | "WebGL2RenderingContext" | "WebGLActiveInfo" | "WebGLBuffer" | "WebGLContextEvent" | "WebGLFramebuffer" | "WebGLProgram" | "WebGLQuery" | "WebGLRenderbuffer" | "WebGLRenderingContext" | "WebGLSampler" | "WebGLShader" | "WebGLShaderPrecisionFormat" | "WebGLSync" | "WebGLTexture" | "WebGLTransformFeedback" | "WebGLUniformLocation" | "WebGLVertexArrayObject" | "WebSocket" | "WheelEvent" | "Window" | "Worker" | "Worklet" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "XMLDocument" | "XMLHttpRequest" | "XMLHttpRequestEventTarget" | "XMLHttpRequestUpload" | "XMLSerializer" | "XPathEvaluator" | "XPathExpression" | "XPathResult" | "XSLTProcessor" | "console" | "CSS" | "WebAssembly" | "Audio" | "Image" | "Option" | "clientInformation" | "closed" | "customElements" | "devicePixelRatio" | "document" | "event" | "external" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "length" | "location" | "locationbar" | "menubar" | "navigator" | "ondevicemotion" | "ondeviceorientation" | "onorientationchange" | "opener" | "orientation" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "personalbar" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scrollX" | "scrollY" | "scrollbars" | "self" | "speechSynthesis" | "status" | "statusbar" | "toolbar" | "top" | "visualViewport" | "window" | "onabort" | "onanimationcancel" | "onanimationend" | "onanimationiteration" | "onanimationstart" | "onauxclick" | "onbeforeinput" | "onblur" | "oncancel" | "oncanplay" | "oncanplaythrough" | "onchange" | "onclick" | "onclose" | "oncontextmenu" | "oncuechange" | "ondblclick" | "ondrag" | "ondragend" | "ondragenter" | "ondragleave" | "ondragover" | "ondragstart" | "ondrop" | "ondurationchange" | "onemptied" | "onended" | "onerror" | "onfocus" | "onformdata" | "ongotpointercapture" | "oninput" | "oninvalid" | "onkeydown" | "onkeypress" | "onkeyup" | "onload" | "onloadeddata" | "onloadedmetadata" | "onloadstart" | "onlostpointercapture" | "onmousedown" | "onmouseenter" | "onmouseleave" | "onmousemove" | "onmouseout" | "onmouseover" | "onmouseup" | "onpause" | "onplay" | "onplaying" | "onpointercancel" | "onpointerdown" | "onpointerenter" | "onpointerleave" | "onpointermove" | "onpointerout" | "onpointerover" | "onpointerup" | "onprogress" | "onratechange" | "onreset" | "onresize" | "onscroll" | "onsecuritypolicyviolation" | "onseeked" | "onseeking" | "onselect" | "onselectionchange" | "onselectstart" | "onslotchange" | "onstalled" | "onsubmit" | "onsuspend" | "ontimeupdate" | "ontoggle" | "ontouchcancel" | "ontouchend" | "ontouchmove" | "ontouchstart" | "ontransitioncancel" | "ontransitionend" | "ontransitionrun" | "ontransitionstart" | "onvolumechange" | "onwaiting" | "onwebkitanimationend" | "onwebkitanimationiteration" | "onwebkitanimationstart" | "onwebkittransitionend" | "onwheel" | "onafterprint" | "onbeforeprint" | "onbeforeunload" | "ongamepadconnected" | "ongamepaddisconnected" | "onhashchange" | "onlanguagechange" | "onmessage" | "onmessageerror" | "onoffline" | "ononline" | "onpagehide" | "onpageshow" | "onpopstate" | "onrejectionhandled" | "onstorage" | "onunhandledrejection" | "onunload" | "localStorage" | "caches" | "crossOriginIsolated" | "crypto" | "indexedDB" | "isSecureContext" | "origin" | "performance" | "sessionStorage" | "importScripts" | "ActiveXObject" | "WScript" | "WSH" | "Enumerator" | "VBArray" +>themAll : "undefined" | "x" | "globalThis" | "eval" | "parseInt" | "parseFloat" | "isNaN" | "isFinite" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "unescape" | "NaN" | "Infinity" | "Object" | "Function" | "String" | "Boolean" | "Number" | "Math" | "Date" | "RegExp" | "Error" | "EvalError" | "RangeError" | "ReferenceError" | "SyntaxError" | "TypeError" | "URIError" | "JSON" | "Array" | "ArrayBuffer" | "DataView" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "Intl" | "alert" | "blur" | "cancelIdleCallback" | "captureEvents" | "close" | "confirm" | "focus" | "getComputedStyle" | "getSelection" | "matchMedia" | "moveBy" | "moveTo" | "open" | "postMessage" | "print" | "prompt" | "releaseEvents" | "requestIdleCallback" | "resizeBy" | "resizeTo" | "scroll" | "scrollBy" | "scrollTo" | "stop" | "toString" | "dispatchEvent" | "cancelAnimationFrame" | "requestAnimationFrame" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "createImageBitmap" | "fetch" | "queueMicrotask" | "reportError" | "setInterval" | "setTimeout" | "structuredClone" | "addEventListener" | "removeEventListener" | "NodeFilter" | "AbortController" | "AbortSignal" | "AbstractRange" | "AnalyserNode" | "Animation" | "AnimationEffect" | "AnimationEvent" | "AnimationPlaybackEvent" | "AnimationTimeline" | "Attr" | "AudioBuffer" | "AudioBufferSourceNode" | "AudioContext" | "AudioDestinationNode" | "AudioListener" | "AudioNode" | "AudioParam" | "AudioParamMap" | "AudioProcessingEvent" | "AudioScheduledSourceNode" | "AudioWorklet" | "AudioWorkletNode" | "AuthenticatorAssertionResponse" | "AuthenticatorAttestationResponse" | "AuthenticatorResponse" | "BarProp" | "BaseAudioContext" | "BeforeUnloadEvent" | "BiquadFilterNode" | "Blob" | "BlobEvent" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CDATASection" | "CSSAnimation" | "CSSConditionRule" | "CSSContainerRule" | "CSSCounterStyleRule" | "CSSFontFaceRule" | "CSSFontPaletteValuesRule" | "CSSGroupingRule" | "CSSImportRule" | "CSSKeyframeRule" | "CSSKeyframesRule" | "CSSLayerBlockRule" | "CSSLayerStatementRule" | "CSSMediaRule" | "CSSNamespaceRule" | "CSSPageRule" | "CSSRule" | "CSSRuleList" | "CSSStyleDeclaration" | "CSSStyleRule" | "CSSStyleSheet" | "CSSSupportsRule" | "CSSTransition" | "Cache" | "CacheStorage" | "CanvasCaptureMediaStreamTrack" | "CanvasGradient" | "CanvasPattern" | "CanvasRenderingContext2D" | "ChannelMergerNode" | "ChannelSplitterNode" | "CharacterData" | "Clipboard" | "ClipboardEvent" | "ClipboardItem" | "CloseEvent" | "Comment" | "CompositionEvent" | "ConstantSourceNode" | "ConvolverNode" | "CountQueuingStrategy" | "Credential" | "CredentialsContainer" | "Crypto" | "CryptoKey" | "CustomElementRegistry" | "CustomEvent" | "DOMException" | "DOMImplementation" | "DOMMatrix" | "SVGMatrix" | "WebKitCSSMatrix" | "DOMMatrixReadOnly" | "DOMParser" | "DOMPoint" | "SVGPoint" | "DOMPointReadOnly" | "DOMQuad" | "DOMRect" | "SVGRect" | "DOMRectList" | "DOMRectReadOnly" | "DOMStringList" | "DOMStringMap" | "DOMTokenList" | "DataTransfer" | "DataTransferItem" | "DataTransferItemList" | "DelayNode" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "Document" | "DocumentFragment" | "DocumentTimeline" | "DocumentType" | "DragEvent" | "DynamicsCompressorNode" | "Element" | "ElementInternals" | "ErrorEvent" | "Event" | "EventCounts" | "EventSource" | "EventTarget" | "External" | "File" | "FileList" | "FileReader" | "FileSystem" | "FileSystemDirectoryEntry" | "FileSystemDirectoryHandle" | "FileSystemDirectoryReader" | "FileSystemEntry" | "FileSystemFileEntry" | "FileSystemFileHandle" | "FileSystemHandle" | "FocusEvent" | "FontFace" | "FontFaceSet" | "FontFaceSetLoadEvent" | "FormData" | "FormDataEvent" | "GainNode" | "Gamepad" | "GamepadButton" | "GamepadEvent" | "GamepadHapticActuator" | "Geolocation" | "GeolocationCoordinates" | "GeolocationPosition" | "GeolocationPositionError" | "HTMLAllCollection" | "HTMLAnchorElement" | "HTMLAreaElement" | "HTMLAudioElement" | "HTMLBRElement" | "HTMLBaseElement" | "HTMLBodyElement" | "HTMLButtonElement" | "HTMLCanvasElement" | "HTMLCollection" | "HTMLDListElement" | "HTMLDataElement" | "HTMLDataListElement" | "HTMLDetailsElement" | "HTMLDialogElement" | "HTMLDirectoryElement" | "HTMLDivElement" | "HTMLDocument" | "HTMLElement" | "HTMLEmbedElement" | "HTMLFieldSetElement" | "HTMLFontElement" | "HTMLFormControlsCollection" | "HTMLFormElement" | "HTMLFrameElement" | "HTMLFrameSetElement" | "HTMLHRElement" | "HTMLHeadElement" | "HTMLHeadingElement" | "HTMLHtmlElement" | "HTMLIFrameElement" | "HTMLImageElement" | "HTMLInputElement" | "HTMLLIElement" | "HTMLLabelElement" | "HTMLLegendElement" | "HTMLLinkElement" | "HTMLMapElement" | "HTMLMarqueeElement" | "HTMLMediaElement" | "HTMLMenuElement" | "HTMLMetaElement" | "HTMLMeterElement" | "HTMLModElement" | "HTMLOListElement" | "HTMLObjectElement" | "HTMLOptGroupElement" | "HTMLOptionElement" | "HTMLOptionsCollection" | "HTMLOutputElement" | "HTMLParagraphElement" | "HTMLParamElement" | "HTMLPictureElement" | "HTMLPreElement" | "HTMLProgressElement" | "HTMLQuoteElement" | "HTMLScriptElement" | "HTMLSelectElement" | "HTMLSlotElement" | "HTMLSourceElement" | "HTMLSpanElement" | "HTMLStyleElement" | "HTMLTableCaptionElement" | "HTMLTableCellElement" | "HTMLTableColElement" | "HTMLTableElement" | "HTMLTableRowElement" | "HTMLTableSectionElement" | "HTMLTemplateElement" | "HTMLTextAreaElement" | "HTMLTimeElement" | "HTMLTitleElement" | "HTMLTrackElement" | "HTMLUListElement" | "HTMLUnknownElement" | "HTMLVideoElement" | "HashChangeEvent" | "Headers" | "History" | "IDBCursor" | "IDBCursorWithValue" | "IDBDatabase" | "IDBFactory" | "IDBIndex" | "IDBKeyRange" | "IDBObjectStore" | "IDBOpenDBRequest" | "IDBRequest" | "IDBTransaction" | "IDBVersionChangeEvent" | "IIRFilterNode" | "IdleDeadline" | "ImageBitmap" | "ImageBitmapRenderingContext" | "ImageData" | "InputDeviceInfo" | "InputEvent" | "IntersectionObserver" | "IntersectionObserverEntry" | "KeyboardEvent" | "KeyframeEffect" | "Location" | "Lock" | "LockManager" | "MathMLElement" | "MediaCapabilities" | "MediaDeviceInfo" | "MediaDevices" | "MediaElementAudioSourceNode" | "MediaEncryptedEvent" | "MediaError" | "MediaKeyMessageEvent" | "MediaKeySession" | "MediaKeyStatusMap" | "MediaKeySystemAccess" | "MediaKeys" | "MediaList" | "MediaMetadata" | "MediaQueryList" | "MediaQueryListEvent" | "MediaRecorder" | "MediaSession" | "MediaSource" | "MediaStream" | "MediaStreamAudioDestinationNode" | "MediaStreamAudioSourceNode" | "MediaStreamTrack" | "MediaStreamTrackEvent" | "MessageChannel" | "MessageEvent" | "MessagePort" | "MimeType" | "MimeTypeArray" | "MouseEvent" | "MutationEvent" | "MutationObserver" | "MutationRecord" | "NamedNodeMap" | "NavigationPreloadManager" | "Navigator" | "Node" | "NodeIterator" | "NodeList" | "Notification" | "OfflineAudioCompletionEvent" | "OfflineAudioContext" | "OffscreenCanvas" | "OffscreenCanvasRenderingContext2D" | "OscillatorNode" | "OverconstrainedError" | "PageTransitionEvent" | "PannerNode" | "Path2D" | "PaymentMethodChangeEvent" | "PaymentRequest" | "PaymentRequestUpdateEvent" | "PaymentResponse" | "Performance" | "PerformanceEntry" | "PerformanceEventTiming" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceNavigation" | "PerformanceNavigationTiming" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformancePaintTiming" | "PerformanceResourceTiming" | "PerformanceServerTiming" | "PerformanceTiming" | "PeriodicWave" | "PermissionStatus" | "Permissions" | "PictureInPictureEvent" | "PictureInPictureWindow" | "Plugin" | "PluginArray" | "PointerEvent" | "PopStateEvent" | "ProcessingInstruction" | "ProgressEvent" | "PromiseRejectionEvent" | "PublicKeyCredential" | "PushManager" | "PushSubscription" | "PushSubscriptionOptions" | "RTCCertificate" | "RTCDTMFSender" | "RTCDTMFToneChangeEvent" | "RTCDataChannel" | "RTCDataChannelEvent" | "RTCDtlsTransport" | "RTCEncodedAudioFrame" | "RTCEncodedVideoFrame" | "RTCError" | "RTCErrorEvent" | "RTCIceCandidate" | "RTCIceTransport" | "RTCPeerConnection" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCRtpReceiver" | "RTCRtpSender" | "RTCRtpTransceiver" | "RTCSctpTransport" | "RTCSessionDescription" | "RTCStatsReport" | "RTCTrackEvent" | "RadioNodeList" | "Range" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "RemotePlayback" | "Request" | "ResizeObserver" | "ResizeObserverEntry" | "ResizeObserverSize" | "Response" | "SVGAElement" | "SVGAngle" | "SVGAnimateElement" | "SVGAnimateMotionElement" | "SVGAnimateTransformElement" | "SVGAnimatedAngle" | "SVGAnimatedBoolean" | "SVGAnimatedEnumeration" | "SVGAnimatedInteger" | "SVGAnimatedLength" | "SVGAnimatedLengthList" | "SVGAnimatedNumber" | "SVGAnimatedNumberList" | "SVGAnimatedPreserveAspectRatio" | "SVGAnimatedRect" | "SVGAnimatedString" | "SVGAnimatedTransformList" | "SVGAnimationElement" | "SVGCircleElement" | "SVGClipPathElement" | "SVGComponentTransferFunctionElement" | "SVGDefsElement" | "SVGDescElement" | "SVGElement" | "SVGEllipseElement" | "SVGFEBlendElement" | "SVGFEColorMatrixElement" | "SVGFEComponentTransferElement" | "SVGFECompositeElement" | "SVGFEConvolveMatrixElement" | "SVGFEDiffuseLightingElement" | "SVGFEDisplacementMapElement" | "SVGFEDistantLightElement" | "SVGFEDropShadowElement" | "SVGFEFloodElement" | "SVGFEFuncAElement" | "SVGFEFuncBElement" | "SVGFEFuncGElement" | "SVGFEFuncRElement" | "SVGFEGaussianBlurElement" | "SVGFEImageElement" | "SVGFEMergeElement" | "SVGFEMergeNodeElement" | "SVGFEMorphologyElement" | "SVGFEOffsetElement" | "SVGFEPointLightElement" | "SVGFESpecularLightingElement" | "SVGFESpotLightElement" | "SVGFETileElement" | "SVGFETurbulenceElement" | "SVGFilterElement" | "SVGForeignObjectElement" | "SVGGElement" | "SVGGeometryElement" | "SVGGradientElement" | "SVGGraphicsElement" | "SVGImageElement" | "SVGLength" | "SVGLengthList" | "SVGLineElement" | "SVGLinearGradientElement" | "SVGMPathElement" | "SVGMarkerElement" | "SVGMaskElement" | "SVGMetadataElement" | "SVGNumber" | "SVGNumberList" | "SVGPathElement" | "SVGPatternElement" | "SVGPointList" | "SVGPolygonElement" | "SVGPolylineElement" | "SVGPreserveAspectRatio" | "SVGRadialGradientElement" | "SVGRectElement" | "SVGSVGElement" | "SVGScriptElement" | "SVGSetElement" | "SVGStopElement" | "SVGStringList" | "SVGStyleElement" | "SVGSwitchElement" | "SVGSymbolElement" | "SVGTSpanElement" | "SVGTextContentElement" | "SVGTextElement" | "SVGTextPathElement" | "SVGTextPositioningElement" | "SVGTitleElement" | "SVGTransform" | "SVGTransformList" | "SVGUnitTypes" | "SVGUseElement" | "SVGViewElement" | "Screen" | "ScreenOrientation" | "ScriptProcessorNode" | "SecurityPolicyViolationEvent" | "Selection" | "ServiceWorker" | "ServiceWorkerContainer" | "ServiceWorkerRegistration" | "ShadowRoot" | "SharedWorker" | "SourceBuffer" | "SourceBufferList" | "SpeechRecognitionAlternative" | "SpeechRecognitionResult" | "SpeechRecognitionResultList" | "SpeechSynthesis" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "SpeechSynthesisUtterance" | "SpeechSynthesisVoice" | "StaticRange" | "StereoPannerNode" | "Storage" | "StorageEvent" | "StorageManager" | "StyleSheet" | "StyleSheetList" | "SubmitEvent" | "SubtleCrypto" | "Text" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TextMetrics" | "TextTrack" | "TextTrackCue" | "TextTrackCueList" | "TextTrackList" | "TimeRanges" | "Touch" | "TouchEvent" | "TouchList" | "TrackEvent" | "TransformStream" | "TransformStreamDefaultController" | "TransitionEvent" | "TreeWalker" | "UIEvent" | "URL" | "webkitURL" | "URLSearchParams" | "VTTCue" | "VTTRegion" | "ValidityState" | "VideoColorSpace" | "VideoPlaybackQuality" | "VisualViewport" | "WaveShaperNode" | "WebGL2RenderingContext" | "WebGLActiveInfo" | "WebGLBuffer" | "WebGLContextEvent" | "WebGLFramebuffer" | "WebGLProgram" | "WebGLQuery" | "WebGLRenderbuffer" | "WebGLRenderingContext" | "WebGLSampler" | "WebGLShader" | "WebGLShaderPrecisionFormat" | "WebGLSync" | "WebGLTexture" | "WebGLTransformFeedback" | "WebGLUniformLocation" | "WebGLVertexArrayObject" | "WebSocket" | "WheelEvent" | "Window" | "Worker" | "Worklet" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "XMLDocument" | "XMLHttpRequest" | "XMLHttpRequestEventTarget" | "XMLHttpRequestUpload" | "XMLSerializer" | "XPathEvaluator" | "XPathExpression" | "XPathResult" | "XSLTProcessor" | "console" | "CSS" | "WebAssembly" | "Audio" | "Image" | "Option" | "clientInformation" | "closed" | "customElements" | "devicePixelRatio" | "document" | "event" | "external" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "length" | "location" | "locationbar" | "menubar" | "navigator" | "ondevicemotion" | "ondeviceorientation" | "onorientationchange" | "opener" | "orientation" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "personalbar" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scrollX" | "scrollY" | "scrollbars" | "self" | "speechSynthesis" | "status" | "statusbar" | "toolbar" | "top" | "visualViewport" | "window" | "onabort" | "onanimationcancel" | "onanimationend" | "onanimationiteration" | "onanimationstart" | "onauxclick" | "onbeforeinput" | "onblur" | "oncancel" | "oncanplay" | "oncanplaythrough" | "onchange" | "onclick" | "onclose" | "oncontextmenu" | "oncuechange" | "ondblclick" | "ondrag" | "ondragend" | "ondragenter" | "ondragleave" | "ondragover" | "ondragstart" | "ondrop" | "ondurationchange" | "onemptied" | "onended" | "onerror" | "onfocus" | "onformdata" | "ongotpointercapture" | "oninput" | "oninvalid" | "onkeydown" | "onkeypress" | "onkeyup" | "onload" | "onloadeddata" | "onloadedmetadata" | "onloadstart" | "onlostpointercapture" | "onmousedown" | "onmouseenter" | "onmouseleave" | "onmousemove" | "onmouseout" | "onmouseover" | "onmouseup" | "onpause" | "onplay" | "onplaying" | "onpointercancel" | "onpointerdown" | "onpointerenter" | "onpointerleave" | "onpointermove" | "onpointerout" | "onpointerover" | "onpointerup" | "onprogress" | "onratechange" | "onreset" | "onresize" | "onscroll" | "onsecuritypolicyviolation" | "onseeked" | "onseeking" | "onselect" | "onselectionchange" | "onselectstart" | "onslotchange" | "onstalled" | "onsubmit" | "onsuspend" | "ontimeupdate" | "ontoggle" | "ontouchcancel" | "ontouchend" | "ontouchmove" | "ontouchstart" | "ontransitioncancel" | "ontransitionend" | "ontransitionrun" | "ontransitionstart" | "onvolumechange" | "onwaiting" | "onwebkitanimationend" | "onwebkitanimationiteration" | "onwebkitanimationstart" | "onwebkittransitionend" | "onwheel" | "onafterprint" | "onbeforeprint" | "onbeforeunload" | "ongamepadconnected" | "ongamepaddisconnected" | "onhashchange" | "onlanguagechange" | "onmessage" | "onmessageerror" | "onoffline" | "ononline" | "onpagehide" | "onpageshow" | "onpopstate" | "onrejectionhandled" | "onstorage" | "onunhandledrejection" | "onunload" | "localStorage" | "caches" | "crossOriginIsolated" | "crypto" | "indexedDB" | "isSecureContext" | "origin" | "performance" | "sessionStorage" | "importScripts" | "ActiveXObject" | "WScript" | "WSH" | "Enumerator" | "VBArray" >globalThis : typeof globalThis diff --git a/tests/baselines/reference/ifStatementInternalComments.symbols b/tests/baselines/reference/ifStatementInternalComments.symbols index a7d0c5feef9bf..e40a9e9ac422d 100644 --- a/tests/baselines/reference/ifStatementInternalComments.symbols +++ b/tests/baselines/reference/ifStatementInternalComments.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/ifStatementInternalComments.ts === + /*1*/ if /*2*/ ( /*3*/ true /*4*/ ) /*5*/ {} -No type information for this code. -No type information for this code./*1*/ if /*2*/ ( /*3*/ true /*4*/ ) /*5*/ {} /*6*/ else /*7*/ {} -No type information for this code. -No type information for this code. \ No newline at end of file + +/*1*/ if /*2*/ ( /*3*/ true /*4*/ ) /*5*/ {} /*6*/ else /*7*/ {} + diff --git a/tests/baselines/reference/implementsClause.types b/tests/baselines/reference/implementsClause.types index ffdff2f6fb08d..0ecf91dab65f1 100644 --- a/tests/baselines/reference/implementsClause.types +++ b/tests/baselines/reference/implementsClause.types @@ -1,7 +1,8 @@ === tests/cases/conformance/externalModules/typeOnly/types.ts === + export interface Component {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/typeOnly/ns.ts === + +=== tests/cases/conformance/externalModules/typeOnly/ns.ts === import type * as types from './types'; >types : typeof types diff --git a/tests/baselines/reference/importAssertion3(module=es2015).types b/tests/baselines/reference/importAssertion3(module=es2015).types index 664ec54ac4a2b..d228171681044 100644 --- a/tests/baselines/reference/importAssertion3(module=es2015).types +++ b/tests/baselines/reference/importAssertion3(module=es2015).types @@ -1,7 +1,8 @@ === tests/cases/conformance/importAssertion/0.ts === + export interface I { } -No type information for this code. -No type information for this code.=== tests/cases/conformance/importAssertion/1.ts === + +=== tests/cases/conformance/importAssertion/1.ts === export type {} from './0' assert { type: "json" } >type : any diff --git a/tests/baselines/reference/importAssertion3(module=esnext).types b/tests/baselines/reference/importAssertion3(module=esnext).types index 664ec54ac4a2b..d228171681044 100644 --- a/tests/baselines/reference/importAssertion3(module=esnext).types +++ b/tests/baselines/reference/importAssertion3(module=esnext).types @@ -1,7 +1,8 @@ === tests/cases/conformance/importAssertion/0.ts === + export interface I { } -No type information for this code. -No type information for this code.=== tests/cases/conformance/importAssertion/1.ts === + +=== tests/cases/conformance/importAssertion/1.ts === export type {} from './0' assert { type: "json" } >type : any diff --git a/tests/baselines/reference/importCallExpressionAsyncES3AMD.js b/tests/baselines/reference/importCallExpressionAsyncES3AMD.js index e40e9ffbd6218..c4d58cd080580 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES3AMD.js +++ b/tests/baselines/reference/importCallExpressionAsyncES3AMD.js @@ -44,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES3CJS.js b/tests/baselines/reference/importCallExpressionAsyncES3CJS.js index 9dc9b34b1e18c..777f8fc651ce7 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES3CJS.js +++ b/tests/baselines/reference/importCallExpressionAsyncES3CJS.js @@ -45,7 +45,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES3System.js b/tests/baselines/reference/importCallExpressionAsyncES3System.js index e4cc24387bc0c..2c4fa8bb5ccef 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES3System.js +++ b/tests/baselines/reference/importCallExpressionAsyncES3System.js @@ -46,7 +46,7 @@ System.register([], function (exports_1, context_1) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES3UMD.js b/tests/baselines/reference/importCallExpressionAsyncES3UMD.js index e679da93b598b..f6ebad677647e 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES3UMD.js +++ b/tests/baselines/reference/importCallExpressionAsyncES3UMD.js @@ -44,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES5AMD.js b/tests/baselines/reference/importCallExpressionAsyncES5AMD.js index 00bc55b4389a6..696b44e012eb5 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES5AMD.js +++ b/tests/baselines/reference/importCallExpressionAsyncES5AMD.js @@ -44,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES5CJS.js b/tests/baselines/reference/importCallExpressionAsyncES5CJS.js index 1f95edc3aaf87..59bb76e9ac229 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES5CJS.js +++ b/tests/baselines/reference/importCallExpressionAsyncES5CJS.js @@ -45,7 +45,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES5System.js b/tests/baselines/reference/importCallExpressionAsyncES5System.js index bc577e5c9819a..a7e9ef33ee024 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES5System.js +++ b/tests/baselines/reference/importCallExpressionAsyncES5System.js @@ -46,7 +46,7 @@ System.register([], function (exports_1, context_1) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionAsyncES5UMD.js b/tests/baselines/reference/importCallExpressionAsyncES5UMD.js index c960312db295b..893a1ebb6d39b 100644 --- a/tests/baselines/reference/importCallExpressionAsyncES5UMD.js +++ b/tests/baselines/reference/importCallExpressionAsyncES5UMD.js @@ -44,7 +44,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionDeclarationEmit1.js b/tests/baselines/reference/importCallExpressionDeclarationEmit1.js index 154e2f0a5e9f4..89e42ee7f63de 100644 --- a/tests/baselines/reference/importCallExpressionDeclarationEmit1.js +++ b/tests/baselines/reference/importCallExpressionDeclarationEmit1.js @@ -15,12 +15,14 @@ function returnDynamicLoad(path: string) { } //// [importCallExpressionDeclarationEmit1.js] -Promise.resolve().then(() => require(getSpecifier())); -var p0 = Promise.resolve().then(() => require(`${directory}\\${moduleFile}`)); -var p1 = Promise.resolve().then(() => require(getSpecifier())); -const p2 = Promise.resolve().then(() => require(whatToLoad ? getSpecifier() : "defaulPath")); +var _a, _b, _c, _d; +_a = getSpecifier(), Promise.resolve().then(() => require(_a)); +var p0 = (_b = `${directory}\\${moduleFile}`, Promise.resolve().then(() => require(_b))); +var p1 = (_c = getSpecifier(), Promise.resolve().then(() => require(_c))); +const p2 = (_d = whatToLoad ? getSpecifier() : "defaulPath", Promise.resolve().then(() => require(_d))); function returnDynamicLoad(path) { - return Promise.resolve().then(() => require(path)); + var _a; + return _a = path, Promise.resolve().then(() => require(_a)); } diff --git a/tests/baselines/reference/importCallExpressionGrammarError.js b/tests/baselines/reference/importCallExpressionGrammarError.js index 61b47759581ff..0a502e5e2891a 100644 --- a/tests/baselines/reference/importCallExpressionGrammarError.js +++ b/tests/baselines/reference/importCallExpressionGrammarError.js @@ -10,8 +10,9 @@ const p2 = import(); const p4 = import("pathToModule", "secondModule"); //// [importCallExpressionGrammarError.js] +var _a, _b; var a = ["./0"]; -Promise.resolve().then(() => require(...["PathModule"])); -var p1 = Promise.resolve().then(() => require(...a)); +_a = (...["PathModule"]), Promise.resolve().then(() => require(_a)); +var p1 = (_b = (...a), Promise.resolve().then(() => require(_b))); const p2 = Promise.resolve().then(() => require()); const p4 = Promise.resolve().then(() => require("pathToModule")); diff --git a/tests/baselines/reference/importCallExpressionInExportEqualsAMD.symbols b/tests/baselines/reference/importCallExpressionInExportEqualsAMD.symbols index cd8d7d3804190..21c17056047bc 100644 --- a/tests/baselines/reference/importCallExpressionInExportEqualsAMD.symbols +++ b/tests/baselines/reference/importCallExpressionInExportEqualsAMD.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/something.ts === + export = 42; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === export = async function() { const something = await import("./something"); >something : Symbol(something, Decl(index.ts, 1, 9)) diff --git a/tests/baselines/reference/importCallExpressionInExportEqualsAMD.types b/tests/baselines/reference/importCallExpressionInExportEqualsAMD.types index b590130d1cff5..d35342ec30ce5 100644 --- a/tests/baselines/reference/importCallExpressionInExportEqualsAMD.types +++ b/tests/baselines/reference/importCallExpressionInExportEqualsAMD.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/something.ts === + export = 42; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === export = async function() { >async function() { const something = await import("./something");} : () => Promise diff --git a/tests/baselines/reference/importCallExpressionInExportEqualsCJS.symbols b/tests/baselines/reference/importCallExpressionInExportEqualsCJS.symbols index cd8d7d3804190..21c17056047bc 100644 --- a/tests/baselines/reference/importCallExpressionInExportEqualsCJS.symbols +++ b/tests/baselines/reference/importCallExpressionInExportEqualsCJS.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/something.ts === + export = 42; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === export = async function() { const something = await import("./something"); >something : Symbol(something, Decl(index.ts, 1, 9)) diff --git a/tests/baselines/reference/importCallExpressionInExportEqualsCJS.types b/tests/baselines/reference/importCallExpressionInExportEqualsCJS.types index b590130d1cff5..d35342ec30ce5 100644 --- a/tests/baselines/reference/importCallExpressionInExportEqualsCJS.types +++ b/tests/baselines/reference/importCallExpressionInExportEqualsCJS.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/something.ts === + export = 42; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === export = async function() { >async function() { const something = await import("./something");} : () => Promise diff --git a/tests/baselines/reference/importCallExpressionInExportEqualsUMD.symbols b/tests/baselines/reference/importCallExpressionInExportEqualsUMD.symbols index cd8d7d3804190..21c17056047bc 100644 --- a/tests/baselines/reference/importCallExpressionInExportEqualsUMD.symbols +++ b/tests/baselines/reference/importCallExpressionInExportEqualsUMD.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/something.ts === + export = 42; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === export = async function() { const something = await import("./something"); >something : Symbol(something, Decl(index.ts, 1, 9)) diff --git a/tests/baselines/reference/importCallExpressionInExportEqualsUMD.types b/tests/baselines/reference/importCallExpressionInExportEqualsUMD.types index b590130d1cff5..d35342ec30ce5 100644 --- a/tests/baselines/reference/importCallExpressionInExportEqualsUMD.types +++ b/tests/baselines/reference/importCallExpressionInExportEqualsUMD.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/something.ts === + export = 42; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === export = async function() { >async function() { const something = await import("./something");} : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedAMD.symbols b/tests/baselines/reference/importCallExpressionNestedAMD.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedAMD.symbols +++ b/tests/baselines/reference/importCallExpressionNestedAMD.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedAMD.types b/tests/baselines/reference/importCallExpressionNestedAMD.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedAMD.types +++ b/tests/baselines/reference/importCallExpressionNestedAMD.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedAMD2.js b/tests/baselines/reference/importCallExpressionNestedAMD2.js index ffc429639753f..3200a5831d936 100644 --- a/tests/baselines/reference/importCallExpressionNestedAMD2.js +++ b/tests/baselines/reference/importCallExpressionNestedAMD2.js @@ -30,7 +30,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionNestedAMD2.symbols b/tests/baselines/reference/importCallExpressionNestedAMD2.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedAMD2.symbols +++ b/tests/baselines/reference/importCallExpressionNestedAMD2.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedAMD2.types b/tests/baselines/reference/importCallExpressionNestedAMD2.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedAMD2.types +++ b/tests/baselines/reference/importCallExpressionNestedAMD2.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedCJS.js b/tests/baselines/reference/importCallExpressionNestedCJS.js index 5b6abef5e0e65..f099c9bc5fc53 100644 --- a/tests/baselines/reference/importCallExpressionNestedCJS.js +++ b/tests/baselines/reference/importCallExpressionNestedCJS.js @@ -24,6 +24,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }; function foo() { return __awaiter(this, void 0, void 0, function* () { - return yield Promise.resolve().then(() => require((yield Promise.resolve().then(() => require("./foo"))).default)); + var _a; + return yield (_a = (yield Promise.resolve().then(() => require("./foo"))).default, Promise.resolve().then(() => require(_a))); }); } diff --git a/tests/baselines/reference/importCallExpressionNestedCJS.symbols b/tests/baselines/reference/importCallExpressionNestedCJS.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedCJS.symbols +++ b/tests/baselines/reference/importCallExpressionNestedCJS.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedCJS.types b/tests/baselines/reference/importCallExpressionNestedCJS.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedCJS.types +++ b/tests/baselines/reference/importCallExpressionNestedCJS.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedCJS2.js b/tests/baselines/reference/importCallExpressionNestedCJS2.js index 104a01b5bd946..a29cbe396f1c8 100644 --- a/tests/baselines/reference/importCallExpressionNestedCJS2.js +++ b/tests/baselines/reference/importCallExpressionNestedCJS2.js @@ -28,7 +28,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -52,9 +52,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function foo() { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { + var _b; switch (_a.label) { case 0: return [4 /*yield*/, Promise.resolve().then(function () { return require("./foo"); })]; - case 1: return [4 /*yield*/, Promise.resolve().then(function () { return require((_a.sent()).default); })]; + case 1: return [4 /*yield*/, (_b = (_a.sent()).default, Promise.resolve().then(function () { return require(_b); }))]; case 2: return [2 /*return*/, _a.sent()]; } }); diff --git a/tests/baselines/reference/importCallExpressionNestedCJS2.symbols b/tests/baselines/reference/importCallExpressionNestedCJS2.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedCJS2.symbols +++ b/tests/baselines/reference/importCallExpressionNestedCJS2.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedCJS2.types b/tests/baselines/reference/importCallExpressionNestedCJS2.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedCJS2.types +++ b/tests/baselines/reference/importCallExpressionNestedCJS2.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedES2015.symbols b/tests/baselines/reference/importCallExpressionNestedES2015.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedES2015.symbols +++ b/tests/baselines/reference/importCallExpressionNestedES2015.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedES2015.types b/tests/baselines/reference/importCallExpressionNestedES2015.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedES2015.types +++ b/tests/baselines/reference/importCallExpressionNestedES2015.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedES20152.js b/tests/baselines/reference/importCallExpressionNestedES20152.js index c0b888df2fbad..7d52515fd233b 100644 --- a/tests/baselines/reference/importCallExpressionNestedES20152.js +++ b/tests/baselines/reference/importCallExpressionNestedES20152.js @@ -26,7 +26,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionNestedES20152.symbols b/tests/baselines/reference/importCallExpressionNestedES20152.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedES20152.symbols +++ b/tests/baselines/reference/importCallExpressionNestedES20152.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedES20152.types b/tests/baselines/reference/importCallExpressionNestedES20152.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedES20152.types +++ b/tests/baselines/reference/importCallExpressionNestedES20152.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedES2020.symbols b/tests/baselines/reference/importCallExpressionNestedES2020.symbols index ca63503edfecf..d9157542350f3 100644 --- a/tests/baselines/reference/importCallExpressionNestedES2020.symbols +++ b/tests/baselines/reference/importCallExpressionNestedES2020.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedES2020.types b/tests/baselines/reference/importCallExpressionNestedES2020.types index 379522a845db9..81d288e92ad18 100644 --- a/tests/baselines/reference/importCallExpressionNestedES2020.types +++ b/tests/baselines/reference/importCallExpressionNestedES2020.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedES20202.js b/tests/baselines/reference/importCallExpressionNestedES20202.js index 3c47766522ae2..619b9b105a5c0 100644 --- a/tests/baselines/reference/importCallExpressionNestedES20202.js +++ b/tests/baselines/reference/importCallExpressionNestedES20202.js @@ -27,7 +27,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionNestedES20202.symbols b/tests/baselines/reference/importCallExpressionNestedES20202.symbols index ca63503edfecf..d9157542350f3 100644 --- a/tests/baselines/reference/importCallExpressionNestedES20202.symbols +++ b/tests/baselines/reference/importCallExpressionNestedES20202.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedES20202.types b/tests/baselines/reference/importCallExpressionNestedES20202.types index 379522a845db9..81d288e92ad18 100644 --- a/tests/baselines/reference/importCallExpressionNestedES20202.types +++ b/tests/baselines/reference/importCallExpressionNestedES20202.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedSystem.symbols b/tests/baselines/reference/importCallExpressionNestedSystem.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedSystem.symbols +++ b/tests/baselines/reference/importCallExpressionNestedSystem.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedSystem.types b/tests/baselines/reference/importCallExpressionNestedSystem.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedSystem.types +++ b/tests/baselines/reference/importCallExpressionNestedSystem.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedSystem2.js b/tests/baselines/reference/importCallExpressionNestedSystem2.js index 60861b7aca704..62dc40ce6ac20 100644 --- a/tests/baselines/reference/importCallExpressionNestedSystem2.js +++ b/tests/baselines/reference/importCallExpressionNestedSystem2.js @@ -36,7 +36,7 @@ System.register([], function (exports_1, context_1) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionNestedSystem2.symbols b/tests/baselines/reference/importCallExpressionNestedSystem2.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedSystem2.symbols +++ b/tests/baselines/reference/importCallExpressionNestedSystem2.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedSystem2.types b/tests/baselines/reference/importCallExpressionNestedSystem2.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedSystem2.types +++ b/tests/baselines/reference/importCallExpressionNestedSystem2.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedUMD.symbols b/tests/baselines/reference/importCallExpressionNestedUMD.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedUMD.symbols +++ b/tests/baselines/reference/importCallExpressionNestedUMD.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedUMD.types b/tests/baselines/reference/importCallExpressionNestedUMD.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedUMD.types +++ b/tests/baselines/reference/importCallExpressionNestedUMD.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNestedUMD2.js b/tests/baselines/reference/importCallExpressionNestedUMD2.js index 33d3d608e14bf..812cf0aa1c62f 100644 --- a/tests/baselines/reference/importCallExpressionNestedUMD2.js +++ b/tests/baselines/reference/importCallExpressionNestedUMD2.js @@ -38,7 +38,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionNestedUMD2.symbols b/tests/baselines/reference/importCallExpressionNestedUMD2.symbols index 67e2eabd6fd5e..a5d4040f3f389 100644 --- a/tests/baselines/reference/importCallExpressionNestedUMD2.symbols +++ b/tests/baselines/reference/importCallExpressionNestedUMD2.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : Symbol(foo, Decl(index.ts, 0, 0)) diff --git a/tests/baselines/reference/importCallExpressionNestedUMD2.types b/tests/baselines/reference/importCallExpressionNestedUMD2.types index 1e23832e30522..dd40cab13b940 100644 --- a/tests/baselines/reference/importCallExpressionNestedUMD2.types +++ b/tests/baselines/reference/importCallExpressionNestedUMD2.types @@ -1,7 +1,8 @@ === tests/cases/conformance/dynamicImport/foo.ts === + export default "./foo"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/dynamicImport/index.ts === + +=== tests/cases/conformance/dynamicImport/index.ts === async function foo() { >foo : () => Promise diff --git a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.js b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.js index 708025a5d3af0..3029a6b53f288 100644 --- a/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.js +++ b/tests/baselines/reference/importCallExpressionNoModuleKindSpecified.js @@ -61,7 +61,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.js b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.js index b7db3e18d22d4..b3d787c94a54e 100644 --- a/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.js +++ b/tests/baselines/reference/importCallExpressionReturnPromiseOfAny.js @@ -42,21 +42,23 @@ class C { exports.C = C; //// [1.js] "use strict"; +var _a, _b, _c, _d, _e, _f, _g; Object.defineProperty(exports, "__esModule", { value: true }); -Promise.resolve().then(() => require(`${directory}\\${moduleFile}`)); -Promise.resolve().then(() => require(getSpecifier())); -var p1 = Promise.resolve().then(() => require(ValidSomeCondition() ? "./0" : "externalModule")); -var p1 = Promise.resolve().then(() => require(getSpecifier())); -var p11 = Promise.resolve().then(() => require(getSpecifier())); -const p2 = Promise.resolve().then(() => require(whatToLoad ? getSpecifier() : "defaulPath")); +_a = `${directory}\\${moduleFile}`, Promise.resolve().then(() => require(_a)); +_b = getSpecifier(), Promise.resolve().then(() => require(_b)); +var p1 = (_c = ValidSomeCondition() ? "./0" : "externalModule", Promise.resolve().then(() => require(_c))); +var p1 = (_d = getSpecifier(), Promise.resolve().then(() => require(_d))); +var p11 = (_e = getSpecifier(), Promise.resolve().then(() => require(_e))); +const p2 = (_f = whatToLoad ? getSpecifier() : "defaulPath", Promise.resolve().then(() => require(_f))); p1.then(zero => { return zero.foo(); // ok, zero is any }); let j; -var p3 = Promise.resolve().then(() => require(j = getSpecifier())); +var p3 = (_g = j = getSpecifier(), Promise.resolve().then(() => require(_g))); function* loadModule(directories) { + var _a; for (const directory of directories) { const path = `${directory}\\moduleFile`; - Promise.resolve().then(() => require(yield path)); + _a = yield path, Promise.resolve().then(() => require(_a)); } } diff --git a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.js b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.js index 5e2ace1c4017f..ab2785a63d208 100644 --- a/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.js +++ b/tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.js @@ -14,12 +14,13 @@ var p3 = import(["path1", "path2"]); var p4 = import(()=>"PathToModule"); //// [importCallExpressionSpecifierNotStringTypeError.js] +var _a, _b, _c, _d, _e; // Error specifier is not assignable to string -Promise.resolve().then(() => require(getSpecifier())); -var p1 = Promise.resolve().then(() => require(getSpecifier())); -const p2 = Promise.resolve().then(() => require(whatToLoad ? getSpecifier() : "defaulPath")); +_a = getSpecifier(), Promise.resolve().then(() => require(_a)); +var p1 = (_b = getSpecifier(), Promise.resolve().then(() => require(_b))); +const p2 = (_c = whatToLoad ? getSpecifier() : "defaulPath", Promise.resolve().then(() => require(_c))); p1.then(zero => { return zero.foo(); // ok, zero is any }); -var p3 = Promise.resolve().then(() => require(["path1", "path2"])); -var p4 = Promise.resolve().then(() => require(() => "PathToModule")); +var p3 = (_d = ["path1", "path2"], Promise.resolve().then(() => require(_d))); +var p4 = (_e = () => "PathToModule", Promise.resolve().then(() => require(_e))); diff --git a/tests/baselines/reference/importDeclFromTypeNodeInJsSource.symbols b/tests/baselines/reference/importDeclFromTypeNodeInJsSource.symbols index 954e38a8581ec..cab811b2000d4 100644 --- a/tests/baselines/reference/importDeclFromTypeNodeInJsSource.symbols +++ b/tests/baselines/reference/importDeclFromTypeNodeInJsSource.symbols @@ -1,6 +1,7 @@ === /src/node_modules/@types/node/index.d.ts === + /// -No type information for this code.=== /src/node_modules/@types/node/events.d.ts === +=== /src/node_modules/@types/node/events.d.ts === declare module "events" { >"events" : Symbol("events", Decl(events.d.ts, 0, 0)) diff --git a/tests/baselines/reference/importDeclFromTypeNodeInJsSource.types b/tests/baselines/reference/importDeclFromTypeNodeInJsSource.types index 2f8af5e09dbd4..c5ae59d921457 100644 --- a/tests/baselines/reference/importDeclFromTypeNodeInJsSource.types +++ b/tests/baselines/reference/importDeclFromTypeNodeInJsSource.types @@ -1,6 +1,7 @@ === /src/node_modules/@types/node/index.d.ts === + /// -No type information for this code.=== /src/node_modules/@types/node/events.d.ts === +=== /src/node_modules/@types/node/events.d.ts === declare module "events" { >"events" : typeof import("events") diff --git a/tests/baselines/reference/importElisionConstEnumMerge1.errors.txt b/tests/baselines/reference/importElisionConstEnumMerge1.errors.txt new file mode 100644 index 0000000000000..2d3b712f8720a --- /dev/null +++ b/tests/baselines/reference/importElisionConstEnumMerge1.errors.txt @@ -0,0 +1,21 @@ +tests/cases/conformance/constEnums/merge.ts(1,10): error TS2440: Import declaration conflicts with local declaration of 'Enum'. + + +==== tests/cases/conformance/constEnums/enum.ts (0 errors) ==== + export const enum Enum { + One = 1, + } + +==== tests/cases/conformance/constEnums/merge.ts (1 errors) ==== + import { Enum } from "./enum"; + ~~~~ +!!! error TS2440: Import declaration conflicts with local declaration of 'Enum'. + namespace Enum { + export type Foo = number; + } + export { Enum }; + +==== tests/cases/conformance/constEnums/index.ts (0 errors) ==== + import { Enum } from "./merge"; + Enum.One; + \ No newline at end of file diff --git a/tests/baselines/reference/importElisionConstEnumMerge1.js b/tests/baselines/reference/importElisionConstEnumMerge1.js new file mode 100644 index 0000000000000..3e63187bcc39d --- /dev/null +++ b/tests/baselines/reference/importElisionConstEnumMerge1.js @@ -0,0 +1,31 @@ +//// [tests/cases/conformance/constEnums/importElisionConstEnumMerge1.ts] //// + +//// [enum.ts] +export const enum Enum { + One = 1, +} + +//// [merge.ts] +import { Enum } from "./enum"; +namespace Enum { + export type Foo = number; +} +export { Enum }; + +//// [index.ts] +import { Enum } from "./merge"; +Enum.One; + + +//// [enum.js] +"use strict"; +exports.__esModule = true; +//// [merge.js] +"use strict"; +exports.__esModule = true; +exports.Enum = void 0; +//// [index.js] +"use strict"; +exports.__esModule = true; +var merge_1 = require("./merge"); +1 /* Enum.One */; diff --git a/tests/baselines/reference/importElisionConstEnumMerge1.symbols b/tests/baselines/reference/importElisionConstEnumMerge1.symbols new file mode 100644 index 0000000000000..c8d5232899a32 --- /dev/null +++ b/tests/baselines/reference/importElisionConstEnumMerge1.symbols @@ -0,0 +1,30 @@ +=== tests/cases/conformance/constEnums/enum.ts === +export const enum Enum { +>Enum : Symbol(Enum, Decl(enum.ts, 0, 0)) + + One = 1, +>One : Symbol(Enum.One, Decl(enum.ts, 0, 24)) +} + +=== tests/cases/conformance/constEnums/merge.ts === +import { Enum } from "./enum"; +>Enum : Symbol(Enum, Decl(merge.ts, 0, 8), Decl(merge.ts, 0, 30)) + +namespace Enum { +>Enum : Symbol(Enum, Decl(merge.ts, 0, 8), Decl(merge.ts, 0, 30)) + + export type Foo = number; +>Foo : Symbol(Foo, Decl(merge.ts, 1, 16)) +} +export { Enum }; +>Enum : Symbol(Enum, Decl(merge.ts, 4, 8)) + +=== tests/cases/conformance/constEnums/index.ts === +import { Enum } from "./merge"; +>Enum : Symbol(Enum, Decl(index.ts, 0, 8)) + +Enum.One; +>Enum.One : Symbol(Enum.One, Decl(enum.ts, 0, 24)) +>Enum : Symbol(Enum, Decl(index.ts, 0, 8)) +>One : Symbol(Enum.One, Decl(enum.ts, 0, 24)) + diff --git a/tests/baselines/reference/importElisionConstEnumMerge1.types b/tests/baselines/reference/importElisionConstEnumMerge1.types new file mode 100644 index 0000000000000..6348e869642f3 --- /dev/null +++ b/tests/baselines/reference/importElisionConstEnumMerge1.types @@ -0,0 +1,29 @@ +=== tests/cases/conformance/constEnums/enum.ts === +export const enum Enum { +>Enum : Enum + + One = 1, +>One : Enum.One +>1 : 1 +} + +=== tests/cases/conformance/constEnums/merge.ts === +import { Enum } from "./enum"; +>Enum : typeof Enum + +namespace Enum { + export type Foo = number; +>Foo : number +} +export { Enum }; +>Enum : typeof Enum + +=== tests/cases/conformance/constEnums/index.ts === +import { Enum } from "./merge"; +>Enum : typeof import("tests/cases/conformance/constEnums/enum").Enum + +Enum.One; +>Enum.One : import("tests/cases/conformance/constEnums/enum").Enum +>Enum : typeof import("tests/cases/conformance/constEnums/enum").Enum +>One : import("tests/cases/conformance/constEnums/enum").Enum + diff --git a/tests/baselines/reference/importElisionExportNonExportAndDefault.js b/tests/baselines/reference/importElisionExportNonExportAndDefault.js new file mode 100644 index 0000000000000..ed9a318447afd --- /dev/null +++ b/tests/baselines/reference/importElisionExportNonExportAndDefault.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/importElisionExportNonExportAndDefault.ts] //// + +//// [main.ts] +import MyFunction from "./MyComponent"; + +MyFunction({msg: "Hello World"}); + + +//// [MyComponent.ts] +interface MyFunction { msg: string; } + +export const MyFunction = ({ msg }: MyFunction) => console.log(`Got message "${msg}"`); +export default MyFunction; + +//// [MyComponent.js] +export const MyFunction = ({ msg }) => console.log(`Got message "${msg}"`); +export default MyFunction; +//// [main.js] +import MyFunction from "./MyComponent"; +MyFunction({ msg: "Hello World" }); diff --git a/tests/baselines/reference/importElisionExportNonExportAndDefault.symbols b/tests/baselines/reference/importElisionExportNonExportAndDefault.symbols new file mode 100644 index 0000000000000..310c072f3e9f1 --- /dev/null +++ b/tests/baselines/reference/importElisionExportNonExportAndDefault.symbols @@ -0,0 +1,25 @@ +=== tests/cases/compiler/main.ts === +import MyFunction from "./MyComponent"; +>MyFunction : Symbol(MyFunction, Decl(main.ts, 0, 6)) + +MyFunction({msg: "Hello World"}); +>msg : Symbol(msg, Decl(main.ts, 2, 12)) + + +=== tests/cases/compiler/MyComponent.ts === +interface MyFunction { msg: string; } +>MyFunction : Symbol(MyFunction, Decl(MyComponent.ts, 0, 0), Decl(MyComponent.ts, 2, 12)) +>msg : Symbol(MyFunction.msg, Decl(MyComponent.ts, 0, 22)) + +export const MyFunction = ({ msg }: MyFunction) => console.log(`Got message "${msg}"`); +>MyFunction : Symbol(MyFunction, Decl(MyComponent.ts, 2, 12)) +>msg : Symbol(msg, Decl(MyComponent.ts, 2, 28)) +>MyFunction : Symbol(MyFunction, Decl(MyComponent.ts, 0, 0), Decl(MyComponent.ts, 2, 12)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>msg : Symbol(msg, Decl(MyComponent.ts, 2, 28)) + +export default MyFunction; +>MyFunction : Symbol(MyFunction, Decl(MyComponent.ts, 0, 0), Decl(MyComponent.ts, 2, 12)) + diff --git a/tests/baselines/reference/importElisionExportNonExportAndDefault.types b/tests/baselines/reference/importElisionExportNonExportAndDefault.types new file mode 100644 index 0000000000000..69aa6233ab6cb --- /dev/null +++ b/tests/baselines/reference/importElisionExportNonExportAndDefault.types @@ -0,0 +1,30 @@ +=== tests/cases/compiler/main.ts === +import MyFunction from "./MyComponent"; +>MyFunction : any + +MyFunction({msg: "Hello World"}); +>MyFunction({msg: "Hello World"}) : error +>MyFunction : error +>{msg: "Hello World"} : { msg: string; } +>msg : string +>"Hello World" : "Hello World" + + +=== tests/cases/compiler/MyComponent.ts === +interface MyFunction { msg: string; } +>msg : string + +export const MyFunction = ({ msg }: MyFunction) => console.log(`Got message "${msg}"`); +>MyFunction : ({ msg }: MyFunction) => void +>({ msg }: MyFunction) => console.log(`Got message "${msg}"`) : ({ msg }: MyFunction) => void +>msg : string +>console.log(`Got message "${msg}"`) : void +>console.log : (...data: any[]) => void +>console : Console +>log : (...data: any[]) => void +>`Got message "${msg}"` : string +>msg : string + +export default MyFunction; +>MyFunction : MyFunction + diff --git a/tests/baselines/reference/importEmptyFromModuleNotExisted.symbols b/tests/baselines/reference/importEmptyFromModuleNotExisted.symbols index ea0425ff26c37..c3c7f961b3b78 100644 --- a/tests/baselines/reference/importEmptyFromModuleNotExisted.symbols +++ b/tests/baselines/reference/importEmptyFromModuleNotExisted.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/modules/importEmptyFromModuleNotExisted.ts === + import {} from 'module-not-existed' -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importEmptyFromModuleNotExisted.types b/tests/baselines/reference/importEmptyFromModuleNotExisted.types index ea0425ff26c37..c3c7f961b3b78 100644 --- a/tests/baselines/reference/importEmptyFromModuleNotExisted.types +++ b/tests/baselines/reference/importEmptyFromModuleNotExisted.types @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/modules/importEmptyFromModuleNotExisted.ts === + import {} from 'module-not-existed' -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersNoHelpers.symbols b/tests/baselines/reference/importHelpersNoHelpers.symbols index 109ef656549e1..fc5b4384670e5 100644 --- a/tests/baselines/reference/importHelpersNoHelpers.symbols +++ b/tests/baselines/reference/importHelpersNoHelpers.symbols @@ -64,6 +64,6 @@ class C { } === tests/cases/compiler/tslib.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersNoHelpers.types b/tests/baselines/reference/importHelpersNoHelpers.types index f749a5bc3a107..27d8bb5e0179c 100644 --- a/tests/baselines/reference/importHelpersNoHelpers.types +++ b/tests/baselines/reference/importHelpersNoHelpers.types @@ -68,6 +68,6 @@ class C { } === tests/cases/compiler/tslib.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.symbols b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.symbols index c8ce03710925c..7651a0e6a931a 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.symbols +++ b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.symbols @@ -8,6 +8,6 @@ export async function * f() { } === tests/cases/compiler/tslib.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types index da4e9fb704dde..0e50295a2208d 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types +++ b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types @@ -17,6 +17,6 @@ export async function * f() { } === tests/cases/compiler/tslib.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.symbols b/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.symbols index 2fbafd889213f..4ff41dd59ff00 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.symbols +++ b/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.symbols @@ -21,6 +21,6 @@ export class Foo { } === tests/cases/compiler/tslib.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.types b/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.types index fcb8f6214dd4f..77cf274cd730e 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.types +++ b/tests/baselines/reference/importHelpersNoHelpersForPrivateFields.types @@ -24,6 +24,6 @@ export class Foo { } === tests/cases/compiler/tslib.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=amd).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=commonjs).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2015).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=es2020).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=false,module=system).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=amd).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=commonjs).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2015).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=es2020).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).symbols b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).symbols index 96341fc8c39cf..10dcfba7d3b54 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).symbols +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : Symbol(default, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).types b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).types index 867143d099172..f7384f52c56db 100644 --- a/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).types +++ b/tests/baselines/reference/importHelpersWithImportOrExportDefault(esmoduleinterop=true,module=system).types @@ -1,7 +1,8 @@ === tests/cases/compiler/a.ts === + export default class { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === + +=== tests/cases/compiler/b.ts === export { default } from "./a"; >default : typeof b diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=es5).js b/tests/baselines/reference/importMeta(module=commonjs,target=es5).js index c6bc5cf86f380..f2728bb75ae20 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=es5).js +++ b/tests/baselines/reference/importMeta(module=commonjs,target=es5).js @@ -55,7 +55,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importMeta(module=es2020,target=es5).js b/tests/baselines/reference/importMeta(module=es2020,target=es5).js index 724ad5b3aca1b..7cdf12ba8fe0a 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=es5).js +++ b/tests/baselines/reference/importMeta(module=es2020,target=es5).js @@ -54,7 +54,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importMeta(module=esnext,target=es5).js b/tests/baselines/reference/importMeta(module=esnext,target=es5).js index 724ad5b3aca1b..7cdf12ba8fe0a 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=es5).js +++ b/tests/baselines/reference/importMeta(module=esnext,target=es5).js @@ -54,7 +54,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importMeta(module=system,target=es5).js b/tests/baselines/reference/importMeta(module=system,target=es5).js index e68407acd99b9..2be9428dee726 100644 --- a/tests/baselines/reference/importMeta(module=system,target=es5).js +++ b/tests/baselines/reference/importMeta(module=system,target=es5).js @@ -56,7 +56,7 @@ System.register([], function (exports_1, context_1) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/importNonExportedMember2.types b/tests/baselines/reference/importNonExportedMember2.types index d6956acb15e61..973c8ca3d7ea8 100644 --- a/tests/baselines/reference/importNonExportedMember2.types +++ b/tests/baselines/reference/importNonExportedMember2.types @@ -1,8 +1,9 @@ === tests/cases/compiler/a.ts === + export {} -No type information for this code.interface Foo {} -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === +interface Foo {} + +=== tests/cases/compiler/b.ts === import { Foo } from './a'; >Foo : any diff --git a/tests/baselines/reference/importNonExportedMember3.types b/tests/baselines/reference/importNonExportedMember3.types index 7ca8de617e06f..28e54d59daea0 100644 --- a/tests/baselines/reference/importNonExportedMember3.types +++ b/tests/baselines/reference/importNonExportedMember3.types @@ -1,10 +1,11 @@ === tests/cases/compiler/a.ts === + export {} -No type information for this code.interface Foo {} -No type information for this code.interface Foo {} -No type information for this code.namespace Foo {} -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === +interface Foo {} +interface Foo {} +namespace Foo {} + +=== tests/cases/compiler/b.ts === import { Foo } from './a'; >Foo : any diff --git a/tests/baselines/reference/importSpecifiers_js.types b/tests/baselines/reference/importSpecifiers_js.types index b668b5e5fe256..daf301bdc8540 100644 --- a/tests/baselines/reference/importSpecifiers_js.types +++ b/tests/baselines/reference/importSpecifiers_js.types @@ -1,7 +1,8 @@ === tests/cases/conformance/externalModules/typeOnly/a.ts === + export interface A {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/externalModules/typeOnly/a.js === + +=== tests/cases/conformance/externalModules/typeOnly/a.js === import { type A } from "./a"; >A : any diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.symbols b/tests/baselines/reference/importsNotUsedAsValues_error.symbols index 28fcb0ff1d907..4cd9d40aec3f6 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.symbols +++ b/tests/baselines/reference/importsNotUsedAsValues_error.symbols @@ -154,9 +154,10 @@ console.log(h); >h : Symbol(h, Decl(i.ts, 1, 3)) === /j.ts === + import H = require('./h'); // noUnusedLocals error only -No type information for this code. -No type information for this code.=== /k.ts === + +=== /k.ts === const enum K { One, Two } >K : Symbol(K, Decl(k.ts, 0, 0)) >One : Symbol(K.One, Decl(k.ts, 0, 14)) @@ -175,5 +176,5 @@ K.One; >One : Symbol(K.One, Decl(k.ts, 0, 14)) === /j.ts === + // Sad face https://github.com/microsoft/TypeScript/blob/6b04f5039429b9d412696fe2febe39ecc69ad365/src/testRunner/compilerRunner.ts#L207 -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/importsNotUsedAsValues_error.types b/tests/baselines/reference/importsNotUsedAsValues_error.types index 99acfb8041ed2..e3d06b246c124 100644 --- a/tests/baselines/reference/importsNotUsedAsValues_error.types +++ b/tests/baselines/reference/importsNotUsedAsValues_error.types @@ -151,9 +151,10 @@ console.log(h); >h : H === /j.ts === + import H = require('./h'); // noUnusedLocals error only -No type information for this code. -No type information for this code.=== /k.ts === + +=== /k.ts === const enum K { One, Two } >K : K >One : K.One @@ -172,5 +173,5 @@ K.One; >One : K.One === /j.ts === + // Sad face https://github.com/microsoft/TypeScript/blob/6b04f5039429b9d412696fe2febe39ecc69ad365/src/testRunner/compilerRunner.ts#L207 -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).errors.txt b/tests/baselines/reference/inKeywordTypeguard(strict=false).errors.txt index 6feabe9f5c65e..009acf38c2b18 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).errors.txt +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).errors.txt @@ -21,14 +21,13 @@ tests/cases/compiler/inKeywordTypeguard.ts(74,32): error TS2339: Property 'a' do tests/cases/compiler/inKeywordTypeguard.ts(82,39): error TS2339: Property 'b' does not exist on type 'A'. tests/cases/compiler/inKeywordTypeguard.ts(84,39): error TS2339: Property 'a' does not exist on type 'B'. tests/cases/compiler/inKeywordTypeguard.ts(94,26): error TS2339: Property 'a' does not exist on type 'never'. -tests/cases/compiler/inKeywordTypeguard.ts(150,16): error TS2339: Property 'ontouchstart' does not exist on type 'never'. tests/cases/compiler/inKeywordTypeguard.ts(155,16): error TS2322: Type 'unknown' is not assignable to type 'object'. tests/cases/compiler/inKeywordTypeguard.ts(158,21): error TS2322: Type 'unknown' is not assignable to type 'object'. tests/cases/compiler/inKeywordTypeguard.ts(183,16): error TS2322: Type 'T' is not assignable to type 'object'. tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2322: Type 'T' is not assignable to type 'object'. -==== tests/cases/compiler/inKeywordTypeguard.ts (22 errors) ==== +==== tests/cases/compiler/inKeywordTypeguard.ts (21 errors) ==== class A { a: string; } class B { b: string; } @@ -219,8 +218,6 @@ tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2322: Type 'T' is no window.ontouchstart } else { window.ontouchstart - ~~~~~~~~~~~~ -!!! error TS2339: Property 'ontouchstart' does not exist on type 'never'. } } @@ -353,6 +350,64 @@ tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2322: Type 'T' is no } } + function f10(x: { a: unknown }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f11(x: { a: any }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f12(x: { a: string }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f13(x: { a?: string }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f14(x: { a: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f15(x: { a?: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f16(x: typeof globalThis, y: Window & typeof globalThis) { + x = y; + } + // Repro from #50639 function foo(value: A) { @@ -360,4 +415,9 @@ tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2322: Type 'T' is no value; // A & object & Record<"prop", unknown> } } + + // Repro from #50954 + + const checkIsTouchDevice = () => + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; \ No newline at end of file diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).js b/tests/baselines/reference/inKeywordTypeguard(strict=false).js index 08e5a870d5ab1..d254218557fa3 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).js +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).js @@ -271,6 +271,64 @@ function f9(x: object) { } } +function f10(x: { a: unknown }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f11(x: { a: any }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f12(x: { a: string }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f13(x: { a?: string }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f14(x: { a: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f15(x: { a?: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f16(x: typeof globalThis, y: Window & typeof globalThis) { + x = y; +} + // Repro from #50639 function foo(value: A) { @@ -278,6 +336,11 @@ function foo(value: A) { value; // A & object & Record<"prop", unknown> } } + +// Repro from #50954 + +const checkIsTouchDevice = () => + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; //// [inKeywordTypeguard.js] @@ -533,9 +596,62 @@ function f9(x) { x[sym]; } } +function f10(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f11(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f12(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f13(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f14(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f15(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f16(x, y) { + x = y; +} // Repro from #50639 function foo(value) { if (typeof value === "object" && value !== null && "prop" in value) { value; // A & object & Record<"prop", unknown> } } +// Repro from #50954 +const checkIsTouchDevice = () => "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).symbols b/tests/baselines/reference/inKeywordTypeguard(strict=false).symbols index 33ff5a5749fca..c7ad966debf4d 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).symbols +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).symbols @@ -371,7 +371,9 @@ function negativeIntersectionTest() { } else { window.ontouchstart +>window.ontouchstart : Symbol(ontouchstart, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>ontouchstart : Symbol(ontouchstart, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) } } @@ -707,21 +709,147 @@ function f9(x: object) { } } +function f10(x: { a: unknown }) { +>f10 : Symbol(f10, Decl(inKeywordTypeguard.ts, 270, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 272, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) + } +} + +function f11(x: { a: any }) { +>f11 : Symbol(f11, Decl(inKeywordTypeguard.ts, 279, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 281, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) + } +} + +function f12(x: { a: string }) { +>f12 : Symbol(f12, Decl(inKeywordTypeguard.ts, 288, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 290, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) + } +} + +function f13(x: { a?: string }) { +>f13 : Symbol(f13, Decl(inKeywordTypeguard.ts, 297, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 299, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) + } +} + +function f14(x: { a: string | undefined }) { +>f14 : Symbol(f14, Decl(inKeywordTypeguard.ts, 306, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 308, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) + } +} + +function f15(x: { a?: string | undefined }) { +>f15 : Symbol(f15, Decl(inKeywordTypeguard.ts, 315, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 317, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) + } +} + +function f16(x: typeof globalThis, y: Window & typeof globalThis) { +>f16 : Symbol(f16, Decl(inKeywordTypeguard.ts, 324, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 326, 13)) +>globalThis : Symbol(globalThis) +>y : Symbol(y, Decl(inKeywordTypeguard.ts, 326, 34)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>globalThis : Symbol(globalThis) + + x = y; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 326, 13)) +>y : Symbol(y, Decl(inKeywordTypeguard.ts, 326, 34)) +} + // Repro from #50639 function foo(value: A) { ->foo : Symbol(foo, Decl(inKeywordTypeguard.ts, 270, 1)) ->A : Symbol(A, Decl(inKeywordTypeguard.ts, 274, 13)) ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) ->A : Symbol(A, Decl(inKeywordTypeguard.ts, 274, 13)) +>foo : Symbol(foo, Decl(inKeywordTypeguard.ts, 328, 1)) +>A : Symbol(A, Decl(inKeywordTypeguard.ts, 332, 13)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) +>A : Symbol(A, Decl(inKeywordTypeguard.ts, 332, 13)) if (typeof value === "object" && value !== null && "prop" in value) { ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) value; // A & object & Record<"prop", unknown> ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) } } +// Repro from #50954 + +const checkIsTouchDevice = () => +>checkIsTouchDevice : Symbol(checkIsTouchDevice, Decl(inKeywordTypeguard.ts, 340, 5)) + + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>window.navigator : Symbol(navigator, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>navigator : Symbol(navigator, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=false).types b/tests/baselines/reference/inKeywordTypeguard(strict=false).types index e8e414520d3cf..710206712629b 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=false).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=false).types @@ -446,9 +446,9 @@ function negativeIntersectionTest() { } else { window.ontouchstart ->window.ontouchstart : any ->window : never ->ontouchstart : any +>window.ontouchstart : ((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any) +>window : Window & typeof globalThis +>ontouchstart : ((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any) } } @@ -887,6 +887,133 @@ function f9(x: object) { } } +function f10(x: { a: unknown }) { +>f10 : (x: { a: unknown;}) => void +>x : { a: unknown; } +>a : unknown + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: unknown; } + + x; +>x : { a: unknown; } + } + else { + x; +>x : never + } +} + +function f11(x: { a: any }) { +>f11 : (x: { a: any;}) => void +>x : { a: any; } +>a : any + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: any; } + + x; +>x : { a: any; } + } + else { + x; +>x : never + } +} + +function f12(x: { a: string }) { +>f12 : (x: { a: string;}) => void +>x : { a: string; } +>a : string + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: string; } + + x; +>x : { a: string; } + } + else { + x; +>x : never + } +} + +function f13(x: { a?: string }) { +>f13 : (x: { a?: string;}) => void +>x : { a?: string; } +>a : string + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a?: string; } + + x; +>x : { a?: string; } + } + else { + x; +>x : { a?: string; } + } +} + +function f14(x: { a: string | undefined }) { +>f14 : (x: { a: string | undefined;}) => void +>x : { a: string | undefined; } +>a : string + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: string; } + + x; +>x : { a: string; } + } + else { + x; +>x : never + } +} + +function f15(x: { a?: string | undefined }) { +>f15 : (x: { a?: string | undefined;}) => void +>x : { a?: string | undefined; } +>a : string + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a?: string; } + + x; +>x : { a?: string; } + } + else { + x; +>x : { a?: string; } + } +} + +function f16(x: typeof globalThis, y: Window & typeof globalThis) { +>f16 : (x: typeof globalThis, y: Window & typeof globalThis) => void +>x : typeof globalThis +>globalThis : typeof globalThis +>y : Window & typeof globalThis +>globalThis : typeof globalThis + + x = y; +>x = y : Window & typeof globalThis +>x : typeof globalThis +>y : Window & typeof globalThis +} + // Repro from #50639 function foo(value: A) { @@ -912,3 +1039,20 @@ function foo(value: A) { } } +// Repro from #50954 + +const checkIsTouchDevice = () => +>checkIsTouchDevice : () => boolean +>() => "ontouchstart" in window || "msMaxTouchPoints" in window.navigator : () => boolean + + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; +>"ontouchstart" in window || "msMaxTouchPoints" in window.navigator : boolean +>"ontouchstart" in window : boolean +>"ontouchstart" : "ontouchstart" +>window : Window & typeof globalThis +>"msMaxTouchPoints" in window.navigator : boolean +>"msMaxTouchPoints" : "msMaxTouchPoints" +>window.navigator : Navigator +>window : Window & typeof globalThis +>navigator : Navigator + diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt b/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt index dbae773cac10c..1f11114fbd02c 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).errors.txt @@ -28,14 +28,13 @@ tests/cases/compiler/inKeywordTypeguard.ts(82,39): error TS2339: Property 'b' do tests/cases/compiler/inKeywordTypeguard.ts(84,39): error TS2339: Property 'a' does not exist on type 'B'. tests/cases/compiler/inKeywordTypeguard.ts(90,5): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. tests/cases/compiler/inKeywordTypeguard.ts(94,26): error TS2339: Property 'a' does not exist on type 'never'. -tests/cases/compiler/inKeywordTypeguard.ts(150,16): error TS2339: Property 'ontouchstart' does not exist on type 'never'. tests/cases/compiler/inKeywordTypeguard.ts(155,16): error TS18046: 'x' is of type 'unknown'. tests/cases/compiler/inKeywordTypeguard.ts(158,21): error TS2638: Type '{}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator. tests/cases/compiler/inKeywordTypeguard.ts(183,16): error TS2322: Type 'T' is not assignable to type 'object'. tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2638: Type 'NonNullable' may represent a primitive value, which is not permitted as the right operand of the 'in' operator. -==== tests/cases/compiler/inKeywordTypeguard.ts (29 errors) ==== +==== tests/cases/compiler/inKeywordTypeguard.ts (28 errors) ==== class A { a: string; } ~ !!! error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor. @@ -240,8 +239,6 @@ tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2638: Type 'NonNulla window.ontouchstart } else { window.ontouchstart - ~~~~~~~~~~~~ -!!! error TS2339: Property 'ontouchstart' does not exist on type 'never'. } } @@ -373,6 +370,64 @@ tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2638: Type 'NonNulla } } + function f10(x: { a: unknown }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f11(x: { a: any }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f12(x: { a: string }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f13(x: { a?: string }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f14(x: { a: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f15(x: { a?: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } + } + + function f16(x: typeof globalThis, y: Window & typeof globalThis) { + x = y; + } + // Repro from #50639 function foo(value: A) { @@ -380,4 +435,9 @@ tests/cases/compiler/inKeywordTypeguard.ts(186,21): error TS2638: Type 'NonNulla value; // A & object & Record<"prop", unknown> } } + + // Repro from #50954 + + const checkIsTouchDevice = () => + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; \ No newline at end of file diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).js b/tests/baselines/reference/inKeywordTypeguard(strict=true).js index b2a0d92f7b18b..9acc8ca7520e4 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).js +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).js @@ -271,6 +271,64 @@ function f9(x: object) { } } +function f10(x: { a: unknown }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f11(x: { a: any }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f12(x: { a: string }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f13(x: { a?: string }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f14(x: { a: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f15(x: { a?: string | undefined }) { + if ("a" in x) { + x; + } + else { + x; + } +} + +function f16(x: typeof globalThis, y: Window & typeof globalThis) { + x = y; +} + // Repro from #50639 function foo(value: A) { @@ -278,6 +336,11 @@ function foo(value: A) { value; // A & object & Record<"prop", unknown> } } + +// Repro from #50954 + +const checkIsTouchDevice = () => + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; //// [inKeywordTypeguard.js] @@ -534,9 +597,62 @@ function f9(x) { x[sym]; } } +function f10(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f11(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f12(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f13(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f14(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f15(x) { + if ("a" in x) { + x; + } + else { + x; + } +} +function f16(x, y) { + x = y; +} // Repro from #50639 function foo(value) { if (typeof value === "object" && value !== null && "prop" in value) { value; // A & object & Record<"prop", unknown> } } +// Repro from #50954 +const checkIsTouchDevice = () => "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).symbols b/tests/baselines/reference/inKeywordTypeguard(strict=true).symbols index 33ff5a5749fca..c7ad966debf4d 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).symbols +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).symbols @@ -371,7 +371,9 @@ function negativeIntersectionTest() { } else { window.ontouchstart +>window.ontouchstart : Symbol(ontouchstart, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) >window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>ontouchstart : Symbol(ontouchstart, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) } } @@ -707,21 +709,147 @@ function f9(x: object) { } } +function f10(x: { a: unknown }) { +>f10 : Symbol(f10, Decl(inKeywordTypeguard.ts, 270, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 272, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 13)) + } +} + +function f11(x: { a: any }) { +>f11 : Symbol(f11, Decl(inKeywordTypeguard.ts, 279, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 281, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 281, 13)) + } +} + +function f12(x: { a: string }) { +>f12 : Symbol(f12, Decl(inKeywordTypeguard.ts, 288, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 290, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 290, 13)) + } +} + +function f13(x: { a?: string }) { +>f13 : Symbol(f13, Decl(inKeywordTypeguard.ts, 297, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 299, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 299, 13)) + } +} + +function f14(x: { a: string | undefined }) { +>f14 : Symbol(f14, Decl(inKeywordTypeguard.ts, 306, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 308, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 308, 13)) + } +} + +function f15(x: { a?: string | undefined }) { +>f15 : Symbol(f15, Decl(inKeywordTypeguard.ts, 315, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) +>a : Symbol(a, Decl(inKeywordTypeguard.ts, 317, 17)) + + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) + + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) + } + else { + x; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 317, 13)) + } +} + +function f16(x: typeof globalThis, y: Window & typeof globalThis) { +>f16 : Symbol(f16, Decl(inKeywordTypeguard.ts, 324, 1)) +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 326, 13)) +>globalThis : Symbol(globalThis) +>y : Symbol(y, Decl(inKeywordTypeguard.ts, 326, 34)) +>Window : Symbol(Window, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>globalThis : Symbol(globalThis) + + x = y; +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 326, 13)) +>y : Symbol(y, Decl(inKeywordTypeguard.ts, 326, 34)) +} + // Repro from #50639 function foo(value: A) { ->foo : Symbol(foo, Decl(inKeywordTypeguard.ts, 270, 1)) ->A : Symbol(A, Decl(inKeywordTypeguard.ts, 274, 13)) ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) ->A : Symbol(A, Decl(inKeywordTypeguard.ts, 274, 13)) +>foo : Symbol(foo, Decl(inKeywordTypeguard.ts, 328, 1)) +>A : Symbol(A, Decl(inKeywordTypeguard.ts, 332, 13)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) +>A : Symbol(A, Decl(inKeywordTypeguard.ts, 332, 13)) if (typeof value === "object" && value !== null && "prop" in value) { ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) value; // A & object & Record<"prop", unknown> ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) +>value : Symbol(value, Decl(inKeywordTypeguard.ts, 332, 16)) } } +// Repro from #50954 + +const checkIsTouchDevice = () => +>checkIsTouchDevice : Symbol(checkIsTouchDevice, Decl(inKeywordTypeguard.ts, 340, 5)) + + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>window.navigator : Symbol(navigator, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>navigator : Symbol(navigator, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/inKeywordTypeguard(strict=true).types b/tests/baselines/reference/inKeywordTypeguard(strict=true).types index 8ec2b47df0796..86da8b3e869cb 100644 --- a/tests/baselines/reference/inKeywordTypeguard(strict=true).types +++ b/tests/baselines/reference/inKeywordTypeguard(strict=true).types @@ -446,9 +446,9 @@ function negativeIntersectionTest() { } else { window.ontouchstart ->window.ontouchstart : any ->window : never ->ontouchstart : any +>window.ontouchstart : (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any)) | null | undefined +>window : Window & typeof globalThis +>ontouchstart : (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any)) | null | undefined } } @@ -887,6 +887,133 @@ function f9(x: object) { } } +function f10(x: { a: unknown }) { +>f10 : (x: { a: unknown;}) => void +>x : { a: unknown; } +>a : unknown + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: unknown; } + + x; +>x : { a: unknown; } + } + else { + x; +>x : never + } +} + +function f11(x: { a: any }) { +>f11 : (x: { a: any;}) => void +>x : { a: any; } +>a : any + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: any; } + + x; +>x : { a: any; } + } + else { + x; +>x : never + } +} + +function f12(x: { a: string }) { +>f12 : (x: { a: string;}) => void +>x : { a: string; } +>a : string + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: string; } + + x; +>x : { a: string; } + } + else { + x; +>x : never + } +} + +function f13(x: { a?: string }) { +>f13 : (x: { a?: string;}) => void +>x : { a?: string | undefined; } +>a : string | undefined + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a?: string | undefined; } + + x; +>x : { a?: string | undefined; } + } + else { + x; +>x : { a?: string | undefined; } + } +} + +function f14(x: { a: string | undefined }) { +>f14 : (x: { a: string | undefined;}) => void +>x : { a: string | undefined; } +>a : string | undefined + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a: string | undefined; } + + x; +>x : { a: string | undefined; } + } + else { + x; +>x : never + } +} + +function f15(x: { a?: string | undefined }) { +>f15 : (x: { a?: string | undefined;}) => void +>x : { a?: string | undefined; } +>a : string | undefined + + if ("a" in x) { +>"a" in x : boolean +>"a" : "a" +>x : { a?: string | undefined; } + + x; +>x : { a?: string | undefined; } + } + else { + x; +>x : { a?: string | undefined; } + } +} + +function f16(x: typeof globalThis, y: Window & typeof globalThis) { +>f16 : (x: typeof globalThis, y: Window & typeof globalThis) => void +>x : typeof globalThis +>globalThis : typeof globalThis +>y : Window & typeof globalThis +>globalThis : typeof globalThis + + x = y; +>x = y : Window & typeof globalThis +>x : typeof globalThis +>y : Window & typeof globalThis +} + // Repro from #50639 function foo(value: A) { @@ -912,3 +1039,20 @@ function foo(value: A) { } } +// Repro from #50954 + +const checkIsTouchDevice = () => +>checkIsTouchDevice : () => boolean +>() => "ontouchstart" in window || "msMaxTouchPoints" in window.navigator : () => boolean + + "ontouchstart" in window || "msMaxTouchPoints" in window.navigator; +>"ontouchstart" in window || "msMaxTouchPoints" in window.navigator : boolean +>"ontouchstart" in window : boolean +>"ontouchstart" : "ontouchstart" +>window : Window & typeof globalThis +>"msMaxTouchPoints" in window.navigator : boolean +>"msMaxTouchPoints" : "msMaxTouchPoints" +>window.navigator : Navigator +>window : Window & typeof globalThis +>navigator : Navigator + diff --git a/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..symbols b/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..symbols index 7ab1bd72cd791..99357ae260542 100644 --- a/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..symbols +++ b/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..symbols @@ -1,3 +1,2 @@ === tests/cases/compiler/indexSignatureWithoutTypeAnnotation1..ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..types b/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..types index 7ab1bd72cd791..99357ae260542 100644 --- a/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..types +++ b/tests/baselines/reference/indexSignatureWithoutTypeAnnotation1..types @@ -1,3 +1,2 @@ === tests/cases/compiler/indexSignatureWithoutTypeAnnotation1..ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/inlineJsxAndJsxFragPragma.symbols b/tests/baselines/reference/inlineJsxAndJsxFragPragma.symbols index 9945b1306fc5d..70778a368920d 100644 --- a/tests/baselines/reference/inlineJsxAndJsxFragPragma.symbols +++ b/tests/baselines/reference/inlineJsxAndJsxFragPragma.symbols @@ -75,12 +75,13 @@ import {Fragment} from "./renderer"; <> === tests/cases/conformance/jsx/inline/snabbdomy-only-fragment-no-jsx.tsx === + /* @jsx jsx */ -No type information for this code./* @jsxfrag null */ -No type information for this code.import {} from "./renderer"; -No type information for this code.<> -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/inline/preacty-no-fragment.tsx === +/* @jsxfrag null */ +import {} from "./renderer"; +<> + +=== tests/cases/conformance/jsx/inline/preacty-no-fragment.tsx === /** * @jsx h * @jsxFrag Fragment diff --git a/tests/baselines/reference/instantiateConstraintsToTypeArguments2.types b/tests/baselines/reference/instantiateConstraintsToTypeArguments2.types index deac9b331d1d6..3e2285060d622 100644 --- a/tests/baselines/reference/instantiateConstraintsToTypeArguments2.types +++ b/tests/baselines/reference/instantiateConstraintsToTypeArguments2.types @@ -1,4 +1,4 @@ === tests/cases/compiler/instantiateConstraintsToTypeArguments2.ts === + interface A, S extends A> { } -No type information for this code.interface B, S extends B> extends A, B> { } -No type information for this code. \ No newline at end of file +interface B, S extends B> extends A, B> { } diff --git a/tests/baselines/reference/instantiatedBaseTypeConstraints2.types b/tests/baselines/reference/instantiatedBaseTypeConstraints2.types index 6093404bcdf69..dabb7136d2d85 100644 --- a/tests/baselines/reference/instantiatedBaseTypeConstraints2.types +++ b/tests/baselines/reference/instantiatedBaseTypeConstraints2.types @@ -1,4 +1,4 @@ === tests/cases/compiler/instantiatedBaseTypeConstraints2.ts === + interface A, S extends A> { } -No type information for this code.interface B extends A, B> { } -No type information for this code. \ No newline at end of file +interface B extends A, B> { } diff --git a/tests/baselines/reference/interfaceThatInheritsFromItself.types b/tests/baselines/reference/interfaceThatInheritsFromItself.types index f0e3469d9750b..9461628ab3a72 100644 --- a/tests/baselines/reference/interfaceThatInheritsFromItself.types +++ b/tests/baselines/reference/interfaceThatInheritsFromItself.types @@ -1,15 +1,15 @@ === tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts === + interface Foo extends Foo { // error -No type information for this code.} -No type information for this code. -No type information for this code.interface Foo2 extends Foo2 { // error -No type information for this code.} -No type information for this code. -No type information for this code.interface Foo3 extends Foo3 { // error -No type information for this code.} -No type information for this code. -No type information for this code.interface Bar implements Bar { // error -No type information for this code.} -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file +} + +interface Foo2 extends Foo2 { // error +} + +interface Foo3 extends Foo3 { // error +} + +interface Bar implements Bar { // error +} + + diff --git a/tests/baselines/reference/interfaceWithImplements1.types b/tests/baselines/reference/interfaceWithImplements1.types index ff4f1fed8129c..59b4e332379c4 100644 --- a/tests/baselines/reference/interfaceWithImplements1.types +++ b/tests/baselines/reference/interfaceWithImplements1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/interfaceWithImplements1.ts === + interface IFoo { } -No type information for this code. -No type information for this code.interface IBar implements IFoo { -No type information for this code.} -No type information for this code. \ No newline at end of file + +interface IBar implements IFoo { +} diff --git a/tests/baselines/reference/intersectionsAndEmptyObjects.symbols b/tests/baselines/reference/intersectionsAndEmptyObjects.symbols index 7cb08ebfb2523..7158ee012b987 100644 --- a/tests/baselines/reference/intersectionsAndEmptyObjects.symbols +++ b/tests/baselines/reference/intersectionsAndEmptyObjects.symbols @@ -275,6 +275,6 @@ mock(import('./ex')) >'./ex' : Symbol("tests/cases/conformance/types/intersection/ex", Decl(ex.d.ts, 0, 0)) === tests/cases/conformance/types/intersection/ex.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/intersectionsAndEmptyObjects.types b/tests/baselines/reference/intersectionsAndEmptyObjects.types index 6972e06169dcb..fc28f024e45e9 100644 --- a/tests/baselines/reference/intersectionsAndEmptyObjects.types +++ b/tests/baselines/reference/intersectionsAndEmptyObjects.types @@ -230,6 +230,6 @@ mock(import('./ex')) >'./ex' : "./ex" === tests/cases/conformance/types/intersection/ex.d.ts === + export {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt b/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt index 9ce78b8e2b8a2..25b4c1ecb8cc3 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt +++ b/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt @@ -10,7 +10,7 @@ tests/cases/compiler/intersectionsOfLargeUnions2.ts(31,15): error TS2536: Type ' interface ElementTagNameMap { ~~~~~~~~~~~~~~~~~ !!! error TS2300: Duplicate identifier 'ElementTagNameMap'. -!!! related TS6203 /.ts/lib.dom.d.ts:17748:6: 'ElementTagNameMap' was also declared here. +!!! related TS6203 /.ts/lib.dom.d.ts:17843:6: 'ElementTagNameMap' was also declared here. [index: number]: HTMLElement } diff --git a/tests/baselines/reference/intrinsicTypes.types b/tests/baselines/reference/intrinsicTypes.types index d17e37284c10b..b054269683432 100644 --- a/tests/baselines/reference/intrinsicTypes.types +++ b/tests/baselines/reference/intrinsicTypes.types @@ -9,7 +9,7 @@ type TU3 = Uppercase; // Uppercase >TU3 : Uppercase type TU4 = Uppercase; // Uppercase<`${any}`> ->TU4 : Uppercase<`${any}`> +>TU4 : Uppercase type TU5 = Uppercase; // never >TU5 : never @@ -27,7 +27,7 @@ type TL3 = Lowercase; // Lowercase >TL3 : Lowercase type TL4 = Lowercase; // Lowercase<`${any}`> ->TL4 : Lowercase<`${any}`> +>TL4 : Lowercase type TL5 = Lowercase; // never >TL5 : never @@ -45,7 +45,7 @@ type TC3 = Capitalize; // Capitalize >TC3 : Capitalize type TC4 = Capitalize; // Capitalize<`${any}`> ->TC4 : Capitalize<`${any}`> +>TC4 : Capitalize type TC5 = Capitalize; // never >TC5 : never @@ -63,7 +63,7 @@ type TN3 = Uncapitalize; // Uncapitalize >TN3 : Uncapitalize type TN4 = Uncapitalize; // Uncapitalize<`${any}`> ->TN4 : Uncapitalize<`${any}`> +>TN4 : Uncapitalize type TN5 = Uncapitalize; // never >TN5 : never @@ -72,13 +72,13 @@ type TN6 = Uncapitalize<42>; // Error >TN6 : 42 type TX1 = Uppercase<`aB${S}`>; ->TX1 : Uppercase<`aB${S}`> +>TX1 : `AB${Uppercase}` type TX2 = TX1<'xYz'>; // "ABXYZ" >TX2 : "ABXYZ" type TX3 = Lowercase<`aB${S}`>; ->TX3 : Lowercase<`aB${S}`> +>TX3 : `ab${Lowercase}` type TX4 = TX3<'xYz'>; // "abxyz" >TX4 : "abxyz" diff --git a/tests/baselines/reference/invalidContinueInDownlevelAsync.js b/tests/baselines/reference/invalidContinueInDownlevelAsync.js index 9a2fc08f4a8ce..827cbcfaf5a80 100644 --- a/tests/baselines/reference/invalidContinueInDownlevelAsync.js +++ b/tests/baselines/reference/invalidContinueInDownlevelAsync.js @@ -24,7 +24,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/invalidSwitchBreakStatement.symbols b/tests/baselines/reference/invalidSwitchBreakStatement.symbols index a17a2a7dee289..afebca7775ad3 100644 --- a/tests/baselines/reference/invalidSwitchBreakStatement.symbols +++ b/tests/baselines/reference/invalidSwitchBreakStatement.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/statements/breakStatements/invalidSwitchBreakStatement.ts === + // break is not allowed in a switch statement -No type information for this code. -No type information for this code.switch (12) { -No type information for this code. case 5: -No type information for this code. break; -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + +switch (12) { + case 5: + break; +} + diff --git a/tests/baselines/reference/invalidSwitchContinueStatement.symbols b/tests/baselines/reference/invalidSwitchContinueStatement.symbols index 4472c30f76d6d..f0e72377631a5 100644 --- a/tests/baselines/reference/invalidSwitchContinueStatement.symbols +++ b/tests/baselines/reference/invalidSwitchContinueStatement.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/statements/continueStatements/invalidSwitchContinueStatement.ts === + // continue is not allowed in a switch statement -No type information for this code. -No type information for this code.switch (12) { -No type information for this code. case 5: -No type information for this code. continue; -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + +switch (12) { + case 5: + continue; +} + diff --git a/tests/baselines/reference/invalidThrowStatement.symbols b/tests/baselines/reference/invalidThrowStatement.symbols index df6bd8a3119c0..c500cb2a24183 100644 --- a/tests/baselines/reference/invalidThrowStatement.symbols +++ b/tests/baselines/reference/invalidThrowStatement.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/statements/throwStatements/invalidThrowStatement.ts === + throw; -No type information for this code. -No type information for this code.export throw null; -No type information for this code. -No type information for this code. \ No newline at end of file + +export throw null; + diff --git a/tests/baselines/reference/invalidUnicodeEscapeSequance3.symbols b/tests/baselines/reference/invalidUnicodeEscapeSequance3.symbols index ed7eaf3592f99..34005a9bce75c 100644 --- a/tests/baselines/reference/invalidUnicodeEscapeSequance3.symbols +++ b/tests/baselines/reference/invalidUnicodeEscapeSequance3.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/invalidUnicodeEscapeSequance3.ts === + a\u -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesDontElideReExportStar.symbols b/tests/baselines/reference/isolatedModulesDontElideReExportStar.symbols index 38ab78bf49815..5e8371bb8e2d8 100644 --- a/tests/baselines/reference/isolatedModulesDontElideReExportStar.symbols +++ b/tests/baselines/reference/isolatedModulesDontElideReExportStar.symbols @@ -3,6 +3,6 @@ export type T = number; >T : Symbol(T, Decl(a.ts, 0, 0)) === /b.ts === + export * from "./a"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/isolatedModulesDontElideReExportStar.types b/tests/baselines/reference/isolatedModulesDontElideReExportStar.types index 4f68c5ded8973..b083d9914d76d 100644 --- a/tests/baselines/reference/isolatedModulesDontElideReExportStar.types +++ b/tests/baselines/reference/isolatedModulesDontElideReExportStar.types @@ -3,6 +3,6 @@ export type T = number; >T : number === /b.ts === + export * from "./a"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.symbols b/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.symbols index 39ef3fa478d07..34ba5a1cc59c3 100644 --- a/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.symbols +++ b/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/file1.ts === + export {}; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file + + diff --git a/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.types b/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.types index 39ef3fa478d07..34ba5a1cc59c3 100644 --- a/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.types +++ b/tests/baselines/reference/isolatedModulesRequiresPreserveConstEnum.types @@ -1,5 +1,5 @@ === tests/cases/compiler/file1.ts === + export {}; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file + + diff --git a/tests/baselines/reference/isolatedModules_resolveJsonModule.symbols b/tests/baselines/reference/isolatedModules_resolveJsonModule.symbols index 6282706d3aa92..4766d809cfbc6 100644 --- a/tests/baselines/reference/isolatedModules_resolveJsonModule.symbols +++ b/tests/baselines/reference/isolatedModules_resolveJsonModule.symbols @@ -3,6 +3,6 @@ import j = require("./j.json"); >j : Symbol(j, Decl(a.ts, 0, 0)) === /j.json === + {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/isolatedModules_resolveJsonModule_strict_outDir_commonJs.symbols b/tests/baselines/reference/isolatedModules_resolveJsonModule_strict_outDir_commonJs.symbols index d2bbd4ef0bc9c..b95c3ce3fc1e8 100644 --- a/tests/baselines/reference/isolatedModules_resolveJsonModule_strict_outDir_commonJs.symbols +++ b/tests/baselines/reference/isolatedModules_resolveJsonModule_strict_outDir_commonJs.symbols @@ -3,6 +3,6 @@ import * as j from "./j.json"; >j : Symbol(j, Decl(a.ts, 0, 6)) === /j.json === + {} -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/jsDeclarationsDefault.symbols b/tests/baselines/reference/jsDeclarationsDefault.symbols index 4436c83d40ec0..1ed448d77437a 100644 --- a/tests/baselines/reference/jsDeclarationsDefault.symbols +++ b/tests/baselines/reference/jsDeclarationsDefault.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/jsdoc/declarations/index1.js === + export default 12; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/index2.js === + +=== tests/cases/conformance/jsdoc/declarations/index2.js === export default function foo() { >foo : Symbol(foo, Decl(index2.js, 0, 0)) @@ -47,13 +48,14 @@ export default Bar; >Bar : Symbol(Bar, Decl(index4.js, 0, 27)) === tests/cases/conformance/jsdoc/declarations/index5.js === + // merge type alias and const (OK) -No type information for this code.export default 12; -No type information for this code./** -No type information for this code. * @typedef {string | number} default -No type information for this code. */ -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/index6.js === +export default 12; +/** + * @typedef {string | number} default + */ + +=== tests/cases/conformance/jsdoc/declarations/index6.js === // merge type alias and function (OK) export default function func() {}; >func : Symbol(func, Decl(index6.js, 0, 0), Decl(index6.js, 3, 3)) diff --git a/tests/baselines/reference/jsDeclarationsDefault.types b/tests/baselines/reference/jsDeclarationsDefault.types index df45a2a221c2f..e9066661160da 100644 --- a/tests/baselines/reference/jsDeclarationsDefault.types +++ b/tests/baselines/reference/jsDeclarationsDefault.types @@ -1,7 +1,8 @@ === tests/cases/conformance/jsdoc/declarations/index1.js === + export default 12; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/index2.js === + +=== tests/cases/conformance/jsdoc/declarations/index2.js === export default function foo() { >foo : () => typeof foo @@ -51,13 +52,14 @@ export default Bar; >Bar : Bar === tests/cases/conformance/jsdoc/declarations/index5.js === + // merge type alias and const (OK) -No type information for this code.export default 12; -No type information for this code./** -No type information for this code. * @typedef {string | number} default -No type information for this code. */ -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/index6.js === +export default 12; +/** + * @typedef {string | number} default + */ + +=== tests/cases/conformance/jsdoc/declarations/index6.js === // merge type alias and function (OK) export default function func() {}; >func : () => void diff --git a/tests/baselines/reference/jsDeclarationsExportForms.symbols b/tests/baselines/reference/jsDeclarationsExportForms.symbols index 4232aa53158ce..3c29068a6cfee 100644 --- a/tests/baselines/reference/jsDeclarationsExportForms.symbols +++ b/tests/baselines/reference/jsDeclarationsExportForms.symbols @@ -7,13 +7,15 @@ export function func() {} >func : Symbol(func, Decl(func.js, 0, 0)) === tests/cases/conformance/jsdoc/declarations/bar.js === + export * from "./cls"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/bar2.js === + +=== tests/cases/conformance/jsdoc/declarations/bar2.js === + export * from "./func"; -No type information for this code.export * from "./cls"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/baz.js === +export * from "./cls"; + +=== tests/cases/conformance/jsdoc/declarations/baz.js === import {Foo} from "./cls"; >Foo : Symbol(Foo, Decl(baz.js, 0, 8)) @@ -95,15 +97,15 @@ module.exports.names = ns; >ns : Symbol(ns, Decl(cjs4.js, 0, 5)) === tests/cases/conformance/jsdoc/declarations/includeAll.js === + import "./cjs4"; -No type information for this code.import "./cjs3"; -No type information for this code.import "./cjs2"; -No type information for this code.import "./cjs"; -No type information for this code.import "./bol"; -No type information for this code.import "./ban"; -No type information for this code.import "./bat"; -No type information for this code.import "./baz"; -No type information for this code.import "./bar"; -No type information for this code.import "./bar2"; -No type information for this code. -No type information for this code. \ No newline at end of file +import "./cjs3"; +import "./cjs2"; +import "./cjs"; +import "./bol"; +import "./ban"; +import "./bat"; +import "./baz"; +import "./bar"; +import "./bar2"; + diff --git a/tests/baselines/reference/jsDeclarationsExportForms.types b/tests/baselines/reference/jsDeclarationsExportForms.types index 910f991ef4060..836f90c72db61 100644 --- a/tests/baselines/reference/jsDeclarationsExportForms.types +++ b/tests/baselines/reference/jsDeclarationsExportForms.types @@ -7,13 +7,15 @@ export function func() {} >func : () => void === tests/cases/conformance/jsdoc/declarations/bar.js === + export * from "./cls"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/bar2.js === + +=== tests/cases/conformance/jsdoc/declarations/bar2.js === + export * from "./func"; -No type information for this code.export * from "./cls"; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/baz.js === +export * from "./cls"; + +=== tests/cases/conformance/jsdoc/declarations/baz.js === import {Foo} from "./cls"; >Foo : typeof Foo @@ -104,15 +106,15 @@ module.exports.names = ns; >ns : typeof ns === tests/cases/conformance/jsdoc/declarations/includeAll.js === + import "./cjs4"; -No type information for this code.import "./cjs3"; -No type information for this code.import "./cjs2"; -No type information for this code.import "./cjs"; -No type information for this code.import "./bol"; -No type information for this code.import "./ban"; -No type information for this code.import "./bat"; -No type information for this code.import "./baz"; -No type information for this code.import "./bar"; -No type information for this code.import "./bar2"; -No type information for this code. -No type information for this code. \ No newline at end of file +import "./cjs3"; +import "./cjs2"; +import "./cjs"; +import "./bol"; +import "./ban"; +import "./bat"; +import "./baz"; +import "./bar"; +import "./bar2"; + diff --git a/tests/baselines/reference/jsDeclarationsExportFormsErr.symbols b/tests/baselines/reference/jsDeclarationsExportFormsErr.symbols index a8795f892f26f..1cac8209c7972 100644 --- a/tests/baselines/reference/jsDeclarationsExportFormsErr.symbols +++ b/tests/baselines/reference/jsDeclarationsExportFormsErr.symbols @@ -17,12 +17,13 @@ module.exports = ns; // We refuse to bind cjs module exports assignments in the >ns : Symbol(ns, Decl(bin.js, 0, 6)) === tests/cases/conformance/jsdoc/declarations/globalNs.js === + export * from "./cls"; -No type information for this code.export as namespace GLO; // TS Only -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/includeAll.js === +export as namespace GLO; // TS Only + +=== tests/cases/conformance/jsdoc/declarations/includeAll.js === + import "./bar"; -No type information for this code.import "./bin"; -No type information for this code.import "./globalNs"; -No type information for this code. -No type information for this code. \ No newline at end of file +import "./bin"; +import "./globalNs"; + diff --git a/tests/baselines/reference/jsDeclarationsExportFormsErr.types b/tests/baselines/reference/jsDeclarationsExportFormsErr.types index c4035e7ec82db..2fda7f6daace0 100644 --- a/tests/baselines/reference/jsDeclarationsExportFormsErr.types +++ b/tests/baselines/reference/jsDeclarationsExportFormsErr.types @@ -26,8 +26,8 @@ export as namespace GLO; // TS Only >GLO : any === tests/cases/conformance/jsdoc/declarations/includeAll.js === + import "./bar"; -No type information for this code.import "./bin"; -No type information for this code.import "./globalNs"; -No type information for this code. -No type information for this code. \ No newline at end of file +import "./bin"; +import "./globalNs"; + diff --git a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types index 28424f9792bc4..7c29ca32963cc 100644 --- a/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types +++ b/tests/baselines/reference/jsDeclarationsImportAliasExposedWithinNamespace.types @@ -26,7 +26,7 @@ export {myTypes}; === tests/cases/conformance/jsdoc/declarations/file2.js === import {myTypes} from './file.js'; ->myTypes : any +>myTypes : { [x: string]: any; } /** * @namespace testFnTypes diff --git a/tests/baselines/reference/jsDeclarationsTypeAliases.symbols b/tests/baselines/reference/jsDeclarationsTypeAliases.symbols index eb0d5dd3173f5..251ca37b6c117 100644 --- a/tests/baselines/reference/jsDeclarationsTypeAliases.symbols +++ b/tests/baselines/reference/jsDeclarationsTypeAliases.symbols @@ -1,32 +1,33 @@ === tests/cases/conformance/jsdoc/declarations/index.js === + export {}; // flag file as module -No type information for this code./** -No type information for this code. * @typedef {string | number | symbol} PropName -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * Callback -No type information for this code. * -No type information for this code. * @callback NumberToStringCb -No type information for this code. * @param {number} a -No type information for this code. * @returns {string} -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * @template T -No type information for this code. * @typedef {T & {name: string}} MixinName -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * Identity function -No type information for this code. * -No type information for this code. * @template T -No type information for this code. * @callback Identity -No type information for this code. * @param {T} x -No type information for this code. * @returns {T} -No type information for this code. */ -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/mixed.js === +/** + * @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} + */ + +=== tests/cases/conformance/jsdoc/declarations/mixed.js === /** * @typedef {{x: string} | number | LocalThing | ExportedThing} SomeType */ diff --git a/tests/baselines/reference/jsDeclarationsTypeAliases.types b/tests/baselines/reference/jsDeclarationsTypeAliases.types index a9e5e74f004cb..4a2a0d92c9e45 100644 --- a/tests/baselines/reference/jsDeclarationsTypeAliases.types +++ b/tests/baselines/reference/jsDeclarationsTypeAliases.types @@ -1,32 +1,33 @@ === tests/cases/conformance/jsdoc/declarations/index.js === + export {}; // flag file as module -No type information for this code./** -No type information for this code. * @typedef {string | number | symbol} PropName -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * Callback -No type information for this code. * -No type information for this code. * @callback NumberToStringCb -No type information for this code. * @param {number} a -No type information for this code. * @returns {string} -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * @template T -No type information for this code. * @typedef {T & {name: string}} MixinName -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * Identity function -No type information for this code. * -No type information for this code. * @template T -No type information for this code. * @callback Identity -No type information for this code. * @param {T} x -No type information for this code. * @returns {T} -No type information for this code. */ -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsdoc/declarations/mixed.js === +/** + * @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} + */ + +=== tests/cases/conformance/jsdoc/declarations/mixed.js === /** * @typedef {{x: string} | number | LocalThing | ExportedThing} SomeType */ diff --git a/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.symbols b/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.symbols index da2182e01c45f..ca1782da9acd5 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.symbols +++ b/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.symbols @@ -1,18 +1,18 @@ === tests/cases/conformance/jsdoc/declarations/index.js === + /** -No type information for this code. * Options for Foo <------------ -No type information for this code. * @typedef {Object} FooOptions -No type information for this code. * @property {boolean} bar - Marvin K Mooney -No type information for this code. * @property {string} baz - Sylvester McMonkey McBean -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * Multiline -No type information for this code. * Options -No type information for this code. * for Foo <------------ -No type information for this code. * @typedef {Object} BarOptions -No type information for this code. * @property {boolean} bar - Marvin K Mooney -No type information for this code. * @property {string} baz - Sylvester McMonkey McBean -No type information for this code. */ -No type information for this code. -No type information for this code. \ No newline at end of file + * 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/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.types b/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.types index da2182e01c45f..ca1782da9acd5 100644 --- a/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.types +++ b/tests/baselines/reference/jsDeclarationsTypedefDescriptionsPreserved.types @@ -1,18 +1,18 @@ === tests/cases/conformance/jsdoc/declarations/index.js === + /** -No type information for this code. * Options for Foo <------------ -No type information for this code. * @typedef {Object} FooOptions -No type information for this code. * @property {boolean} bar - Marvin K Mooney -No type information for this code. * @property {string} baz - Sylvester McMonkey McBean -No type information for this code. */ -No type information for this code. -No type information for this code./** -No type information for this code. * Multiline -No type information for this code. * Options -No type information for this code. * for Foo <------------ -No type information for this code. * @typedef {Object} BarOptions -No type information for this code. * @property {boolean} bar - Marvin K Mooney -No type information for this code. * @property {string} baz - Sylvester McMonkey McBean -No type information for this code. */ -No type information for this code. -No type information for this code. \ No newline at end of file + * 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/tests/baselines/reference/jsFileCompilationAwaitModifier.js b/tests/baselines/reference/jsFileCompilationAwaitModifier.js index 9cc51eb2bbb6b..e013276a003ec 100644 --- a/tests/baselines/reference/jsFileCompilationAwaitModifier.js +++ b/tests/baselines/reference/jsFileCompilationAwaitModifier.js @@ -26,7 +26,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.symbols b/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.symbols index 52baff824a04e..bd9091bd6ff15 100644 --- a/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.symbols +++ b/tests/baselines/reference/jsFileCompilationExportAssignmentSyntax.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/a.js === + export = b; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationInterfaceSyntax.types b/tests/baselines/reference/jsFileCompilationInterfaceSyntax.types index 120d2537789d4..299162da19436 100644 --- a/tests/baselines/reference/jsFileCompilationInterfaceSyntax.types +++ b/tests/baselines/reference/jsFileCompilationInterfaceSyntax.types @@ -1,3 +1,3 @@ === tests/cases/compiler/a.js === + interface I { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationModuleSyntax.types b/tests/baselines/reference/jsFileCompilationModuleSyntax.types index 14b240e90c0dc..b38acb84abb6e 100644 --- a/tests/baselines/reference/jsFileCompilationModuleSyntax.types +++ b/tests/baselines/reference/jsFileCompilationModuleSyntax.types @@ -1,3 +1,3 @@ === tests/cases/compiler/a.js === + module M { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationNonNullAssertion.symbols b/tests/baselines/reference/jsFileCompilationNonNullAssertion.symbols index 8051c144dc363..955773e988ce9 100644 --- a/tests/baselines/reference/jsFileCompilationNonNullAssertion.symbols +++ b/tests/baselines/reference/jsFileCompilationNonNullAssertion.symbols @@ -1,4 +1,4 @@ === /src/a.js === + 0! -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/jsdocImportTypeNodeNamespace.symbols b/tests/baselines/reference/jsdocImportTypeNodeNamespace.symbols index 203de80641346..087bf14ba6355 100644 --- a/tests/baselines/reference/jsdocImportTypeNodeNamespace.symbols +++ b/tests/baselines/reference/jsdocImportTypeNodeNamespace.symbols @@ -11,8 +11,8 @@ export default _default; >_default : Symbol(_default, Decl(GeometryType.d.ts, 0, 0)) === tests/cases/compiler/Main.js === + export default function () { -No type information for this code. return /** @type {import('./GeometryType.js').default} */ ('Point'); -No type information for this code.} -No type information for this code. -No type information for this code. \ No newline at end of file + return /** @type {import('./GeometryType.js').default} */ ('Point'); +} + diff --git a/tests/baselines/reference/jsdocInTypeScript.js b/tests/baselines/reference/jsdocInTypeScript.js index 037d655ccf030..39b8f917e0585 100644 --- a/tests/baselines/reference/jsdocInTypeScript.js +++ b/tests/baselines/reference/jsdocInTypeScript.js @@ -58,6 +58,7 @@ var v = import(String()); //// [jsdocInTypeScript.js] +var _a; var T = /** @class */ (function () { function T() { } @@ -92,4 +93,4 @@ var E = {}; E[""]; // make sure import types in JSDoc are not resolved /** @type {import("should-not-be-resolved").Type} */ -var v = Promise.resolve().then(function () { return require(String()); }); +var v = (_a = String(), Promise.resolve().then(function () { return require(_a); })); diff --git a/tests/baselines/reference/jsdocLinkTag1.types b/tests/baselines/reference/jsdocLinkTag1.types index f3b60c506fafd..a6d16d39809b0 100644 --- a/tests/baselines/reference/jsdocLinkTag1.types +++ b/tests/baselines/reference/jsdocLinkTag1.types @@ -1,7 +1,8 @@ === /a.ts === + export interface A {} -No type information for this code. -No type information for this code.=== /b.ts === + +=== /b.ts === import type { A } from "./a"; >A : A diff --git a/tests/baselines/reference/jsdocLinkTag3.types b/tests/baselines/reference/jsdocLinkTag3.types index 821818f763635..5dbbe5bbebc16 100644 --- a/tests/baselines/reference/jsdocLinkTag3.types +++ b/tests/baselines/reference/jsdocLinkTag3.types @@ -1,7 +1,8 @@ === /a.ts === + export interface A {} -No type information for this code. -No type information for this code.=== /b.ts === + +=== /b.ts === import type { A } from "./a"; >A : A diff --git a/tests/baselines/reference/jsdocLinkTag4.types b/tests/baselines/reference/jsdocLinkTag4.types index 1edf435990904..5659b707b05d9 100644 --- a/tests/baselines/reference/jsdocLinkTag4.types +++ b/tests/baselines/reference/jsdocLinkTag4.types @@ -1,7 +1,8 @@ === /a.ts === + export interface A {} -No type information for this code. -No type information for this code.=== /b.ts === + +=== /b.ts === import * as a from "./a"; >a : typeof a diff --git a/tests/baselines/reference/jsdocLinkTag5.types b/tests/baselines/reference/jsdocLinkTag5.types index 42dabbcfc6937..c2378f5554855 100644 --- a/tests/baselines/reference/jsdocLinkTag5.types +++ b/tests/baselines/reference/jsdocLinkTag5.types @@ -1,5 +1,5 @@ === /a.ts === + /** {@link UNRESOLVED_LINK} */ -No type information for this code.export interface A {} -No type information for this code. -No type information for this code. \ No newline at end of file +export interface A {} + diff --git a/tests/baselines/reference/jsdocParamTag2.errors.txt b/tests/baselines/reference/jsdocParamTag2.errors.txt index cbf6140ee7d86..cb95ce143196b 100644 --- a/tests/baselines/reference/jsdocParamTag2.errors.txt +++ b/tests/baselines/reference/jsdocParamTag2.errors.txt @@ -1,10 +1,9 @@ -tests/cases/conformance/jsdoc/0.js(56,20): error TS8024: JSDoc '@param' tag has name 'obj', but there is no parameter with that name. tests/cases/conformance/jsdoc/0.js(61,19): error TS2339: Property 'a' does not exist on type 'String'. tests/cases/conformance/jsdoc/0.js(61,22): error TS2339: Property 'b' does not exist on type 'String'. tests/cases/conformance/jsdoc/0.js(63,20): error TS8024: JSDoc '@param' tag has name 'y', but there is no parameter with that name. -==== tests/cases/conformance/jsdoc/0.js (4 errors) ==== +==== tests/cases/conformance/jsdoc/0.js (3 errors) ==== // Object literal syntax /** * @param {{a: string, b: string}} obj @@ -61,8 +60,6 @@ tests/cases/conformance/jsdoc/0.js(63,20): error TS8024: JSDoc '@param' tag has /** * @param {object} obj - this type gets ignored - ~~~ -!!! error TS8024: JSDoc '@param' tag has name 'obj', but there is no parameter with that name. * @param {string} obj.a * @param {string} obj.b - and x's type gets used for both parameters * @param {string} x diff --git a/tests/baselines/reference/jsdocPrivateName2.symbols b/tests/baselines/reference/jsdocPrivateName2.symbols index 756c4657c6f5c..197c36cf68dce 100644 --- a/tests/baselines/reference/jsdocPrivateName2.symbols +++ b/tests/baselines/reference/jsdocPrivateName2.symbols @@ -1,10 +1,10 @@ === tests/cases/conformance/jsdoc/jsdocPrivateName1.js === + // Expecting parse error for private field -No type information for this code. -No type information for this code./** -No type information for this code. * @typedef A -No type information for this code. * @type {object} -No type information for this code. * @property {string} #id -No type information for this code. */ -No type information for this code. -No type information for this code. \ No newline at end of file + +/** + * @typedef A + * @type {object} + * @property {string} #id + */ + diff --git a/tests/baselines/reference/jsdocPrivateName2.types b/tests/baselines/reference/jsdocPrivateName2.types index 756c4657c6f5c..197c36cf68dce 100644 --- a/tests/baselines/reference/jsdocPrivateName2.types +++ b/tests/baselines/reference/jsdocPrivateName2.types @@ -1,10 +1,10 @@ === tests/cases/conformance/jsdoc/jsdocPrivateName1.js === + // Expecting parse error for private field -No type information for this code. -No type information for this code./** -No type information for this code. * @typedef A -No type information for this code. * @type {object} -No type information for this code. * @property {string} #id -No type information for this code. */ -No type information for this code. -No type information for this code. \ No newline at end of file + +/** + * @typedef A + * @type {object} + * @property {string} #id + */ + diff --git a/tests/baselines/reference/jsdocTypeDefAtStartOfFile.symbols b/tests/baselines/reference/jsdocTypeDefAtStartOfFile.symbols index 6aaeda1b4b51a..be47b8f23c71b 100644 --- a/tests/baselines/reference/jsdocTypeDefAtStartOfFile.symbols +++ b/tests/baselines/reference/jsdocTypeDefAtStartOfFile.symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/jsdoc/dtsEquivalent.js === + /** @typedef {{[k: string]: any}} AnyEffect */ -No type information for this code./** @typedef {number} Third */ -No type information for this code.=== tests/cases/conformance/jsdoc/index.js === +/** @typedef {number} Third */ +=== tests/cases/conformance/jsdoc/index.js === /** @type {AnyEffect} */ let b; >b : Symbol(b, Decl(index.js, 1, 3)) diff --git a/tests/baselines/reference/jsdocTypeDefAtStartOfFile.types b/tests/baselines/reference/jsdocTypeDefAtStartOfFile.types index c4ea68d18a8fd..7342f4eff2432 100644 --- a/tests/baselines/reference/jsdocTypeDefAtStartOfFile.types +++ b/tests/baselines/reference/jsdocTypeDefAtStartOfFile.types @@ -1,7 +1,8 @@ === tests/cases/conformance/jsdoc/dtsEquivalent.js === + /** @typedef {{[k: string]: any}} AnyEffect */ -No type information for this code./** @typedef {number} Third */ -No type information for this code.=== tests/cases/conformance/jsdoc/index.js === +/** @typedef {number} Third */ +=== tests/cases/conformance/jsdoc/index.js === /** @type {AnyEffect} */ let b; >b : AnyEffect diff --git a/tests/baselines/reference/jsxClassAttributeResolution.symbols b/tests/baselines/reference/jsxClassAttributeResolution.symbols index 59ccd79b7be1a..a390a960500d4 100644 --- a/tests/baselines/reference/jsxClassAttributeResolution.symbols +++ b/tests/baselines/reference/jsxClassAttributeResolution.symbols @@ -26,8 +26,9 @@ declare namespace JSX { >T : Symbol(T, Decl(index.d.ts, 4, 34)) } === tests/cases/compiler/node_modules/@types/react/jsx-runtime.d.ts === + import './'; -No type information for this code.=== tests/cases/compiler/node_modules/@types/react/jsx-dev-runtime.d.ts === +=== tests/cases/compiler/node_modules/@types/react/jsx-dev-runtime.d.ts === + import './'; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/jsxClassAttributeResolution.types b/tests/baselines/reference/jsxClassAttributeResolution.types index 4a5c208a849b5..fe669f05fe2fc 100644 --- a/tests/baselines/reference/jsxClassAttributeResolution.types +++ b/tests/baselines/reference/jsxClassAttributeResolution.types @@ -18,8 +18,9 @@ declare namespace JSX { >IntrinsicClassAttributes : IntrinsicClassAttributes } === tests/cases/compiler/node_modules/@types/react/jsx-runtime.d.ts === + import './'; -No type information for this code.=== tests/cases/compiler/node_modules/@types/react/jsx-dev-runtime.d.ts === +=== tests/cases/compiler/node_modules/@types/react/jsx-dev-runtime.d.ts === + import './'; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/jsxFactoryIdentifierWithAbsentParameter.errors.txt b/tests/baselines/reference/jsxFactoryIdentifierWithAbsentParameter.errors.txt index 113c7a46a5d2e..d5f2b14cb8aaf 100644 --- a/tests/baselines/reference/jsxFactoryIdentifierWithAbsentParameter.errors.txt +++ b/tests/baselines/reference/jsxFactoryIdentifierWithAbsentParameter.errors.txt @@ -13,7 +13,7 @@ tests/cases/compiler/test.tsx(9,17): error TS2552: Cannot find name 'createEleme return
; ~~~ !!! error TS2552: Cannot find name 'createElement'. Did you mean 'frameElement'? -!!! related TS2728 /.ts/lib.dom.d.ts:17771:13: 'frameElement' is declared here. +!!! related TS2728 /.ts/lib.dom.d.ts:17866:13: 'frameElement' is declared here. } } \ No newline at end of file diff --git a/tests/baselines/reference/jsxFactoryQualifiedNameResolutionError.errors.txt b/tests/baselines/reference/jsxFactoryQualifiedNameResolutionError.errors.txt index 7bb2a45c15d7b..d89056abc07a8 100644 --- a/tests/baselines/reference/jsxFactoryQualifiedNameResolutionError.errors.txt +++ b/tests/baselines/reference/jsxFactoryQualifiedNameResolutionError.errors.txt @@ -13,6 +13,6 @@ tests/cases/compiler/test.tsx(9,17): error TS2552: Cannot find name 'MyElement'. return
; ~~~ !!! error TS2552: Cannot find name 'MyElement'. Did you mean 'Element'? -!!! related TS2728 /.ts/lib.dom.d.ts:5089:13: 'Element' is declared here. +!!! related TS2728 /.ts/lib.dom.d.ts:5121:13: 'Element' is declared here. } } \ No newline at end of file diff --git a/tests/baselines/reference/jsxInvalidEsprimaTestSuite.symbols b/tests/baselines/reference/jsxInvalidEsprimaTestSuite.symbols index b5e2de25fcde3..b3363ce0ef4aa 100644 --- a/tests/baselines/reference/jsxInvalidEsprimaTestSuite.symbols +++ b/tests/baselines/reference/jsxInvalidEsprimaTestSuite.symbols @@ -4,43 +4,55 @@ declare var React: any; ; === tests/cases/conformance/jsx/2.tsx === + ; -No type information for this code.=== tests/cases/conformance/jsx/3.tsx === +=== tests/cases/conformance/jsx/3.tsx === + <:a />; -No type information for this code.=== tests/cases/conformance/jsx/4.tsx === +=== tests/cases/conformance/jsx/4.tsx === ; >b : Symbol(b, Decl(4.tsx, 0, 2)) >d : Symbol(d, Decl(4.tsx, 0, 5)) === tests/cases/conformance/jsx/5.tsx === + ; -No type information for this code.=== tests/cases/conformance/jsx/6.tsx === +=== tests/cases/conformance/jsx/6.tsx === + ; -No type information for this code.=== tests/cases/conformance/jsx/7.tsx === +=== tests/cases/conformance/jsx/7.tsx === ; -No type information for this code.=== tests/cases/conformance/jsx/21.tsx === +=== tests/cases/conformance/jsx/21.tsx === ; >className : Symbol(className, Decl(21.tsx, 0, 5)) >id : Symbol(id, Decl(21.tsx, 0, 20)) @@ -64,22 +77,27 @@ No type information for this code.=== tests/cases/conformance/jsx/21.tsx === >className : Symbol(className, Decl(22.tsx, 0, 4)) === tests/cases/conformance/jsx/23.tsx === +
; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/24.tsx === + +=== tests/cases/conformance/jsx/24.tsx === +
stuff
; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/25.tsx === + +=== tests/cases/conformance/jsx/25.tsx === +
stuff
; -No type information for this code. -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/26.tsx === + + +=== tests/cases/conformance/jsx/26.tsx === +
>; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/27.tsx === + +=== tests/cases/conformance/jsx/27.tsx === + >; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/28.tsx === + +=== tests/cases/conformance/jsx/28.tsx === ; >b : Symbol(b, Decl(28.tsx, 0, 2)) @@ -88,9 +106,10 @@ No type information for this code.=== tests/cases/conformance/jsx/28.tsx === >b : Symbol(b, Decl(29.tsx, 0, 2)) === tests/cases/conformance/jsx/30.tsx === + }; -No type information for this code. -No type information for this code.=== tests/cases/conformance/jsx/31.tsx === + +=== tests/cases/conformance/jsx/31.tsx === ; >asdf : Symbol(asdf, Decl(31.tsx, 0, 6)) diff --git a/tests/baselines/reference/keepImportsInDts1.symbols b/tests/baselines/reference/keepImportsInDts1.symbols index 0d0e7b9ccfd8c..bb9e965e79d06 100644 --- a/tests/baselines/reference/keepImportsInDts1.symbols +++ b/tests/baselines/reference/keepImportsInDts1.symbols @@ -1,5 +1,6 @@ === c:/test.d.ts === + export {}; -No type information for this code.=== c:/app/main.ts === +=== c:/app/main.ts === + import "test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts1.types b/tests/baselines/reference/keepImportsInDts1.types index 0d0e7b9ccfd8c..bb9e965e79d06 100644 --- a/tests/baselines/reference/keepImportsInDts1.types +++ b/tests/baselines/reference/keepImportsInDts1.types @@ -1,5 +1,6 @@ === c:/test.d.ts === + export {}; -No type information for this code.=== c:/app/main.ts === +=== c:/app/main.ts === + import "test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts2.symbols b/tests/baselines/reference/keepImportsInDts2.symbols index a18db585da9d4..f0a766c5adb6e 100644 --- a/tests/baselines/reference/keepImportsInDts2.symbols +++ b/tests/baselines/reference/keepImportsInDts2.symbols @@ -1,5 +1,6 @@ === tests/cases/compiler/folder/test.ts === + export {}; -No type information for this code.=== tests/cases/compiler/main.ts === +=== tests/cases/compiler/main.ts === + import "./folder/test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts2.types b/tests/baselines/reference/keepImportsInDts2.types index a18db585da9d4..f0a766c5adb6e 100644 --- a/tests/baselines/reference/keepImportsInDts2.types +++ b/tests/baselines/reference/keepImportsInDts2.types @@ -1,5 +1,6 @@ === tests/cases/compiler/folder/test.ts === + export {}; -No type information for this code.=== tests/cases/compiler/main.ts === +=== tests/cases/compiler/main.ts === + import "./folder/test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts3.symbols b/tests/baselines/reference/keepImportsInDts3.symbols index 552c6ff0be61b..7eff19bdffcd1 100644 --- a/tests/baselines/reference/keepImportsInDts3.symbols +++ b/tests/baselines/reference/keepImportsInDts3.symbols @@ -1,5 +1,6 @@ === c:/test.ts === + export {}; -No type information for this code.=== c:/app/main.ts === +=== c:/app/main.ts === + import "test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts3.types b/tests/baselines/reference/keepImportsInDts3.types index 552c6ff0be61b..7eff19bdffcd1 100644 --- a/tests/baselines/reference/keepImportsInDts3.types +++ b/tests/baselines/reference/keepImportsInDts3.types @@ -1,5 +1,6 @@ === c:/test.ts === + export {}; -No type information for this code.=== c:/app/main.ts === +=== c:/app/main.ts === + import "test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts4.symbols b/tests/baselines/reference/keepImportsInDts4.symbols index a18db585da9d4..f0a766c5adb6e 100644 --- a/tests/baselines/reference/keepImportsInDts4.symbols +++ b/tests/baselines/reference/keepImportsInDts4.symbols @@ -1,5 +1,6 @@ === tests/cases/compiler/folder/test.ts === + export {}; -No type information for this code.=== tests/cases/compiler/main.ts === +=== tests/cases/compiler/main.ts === + import "./folder/test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/keepImportsInDts4.types b/tests/baselines/reference/keepImportsInDts4.types index a18db585da9d4..f0a766c5adb6e 100644 --- a/tests/baselines/reference/keepImportsInDts4.types +++ b/tests/baselines/reference/keepImportsInDts4.types @@ -1,5 +1,6 @@ === tests/cases/compiler/folder/test.ts === + export {}; -No type information for this code.=== tests/cases/compiler/main.ts === +=== tests/cases/compiler/main.ts === + import "./folder/test" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementWithLabel.js b/tests/baselines/reference/labeledStatementWithLabel.js index 470abce502ceb..c70c94f8fef6f 100644 --- a/tests/baselines/reference/labeledStatementWithLabel.js +++ b/tests/baselines/reference/labeledStatementWithLabel.js @@ -30,7 +30,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/leaveOptionalParameterAsWritten.types b/tests/baselines/reference/leaveOptionalParameterAsWritten.types index 14632b2b28df4..0595af5142612 100644 --- a/tests/baselines/reference/leaveOptionalParameterAsWritten.types +++ b/tests/baselines/reference/leaveOptionalParameterAsWritten.types @@ -1,7 +1,8 @@ === tests/cases/conformance/declarationEmit/a.ts === + export interface Foo {} -No type information for this code. -No type information for this code.=== tests/cases/conformance/declarationEmit/b.ts === + +=== tests/cases/conformance/declarationEmit/b.ts === import * as a from "./a"; >a : typeof a diff --git a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.js b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.js index a4d9ac6d90b02..964e90698156b 100644 --- a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.js +++ b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.js @@ -48,7 +48,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types index b0aa85034178d..b9ad515a500a8 100644 --- a/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types +++ b/tests/baselines/reference/legacyNodeModulesExportsSpecifierGenerationConditions.types @@ -22,5 +22,5 @@ export const x: () => Thing; >x : () => Thing === tests/cases/conformance/node/node_modules/inner/private.d.ts === + export interface Thing {} // not exported in export map, inaccessible under new module modes -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/libCompileChecks.symbols b/tests/baselines/reference/libCompileChecks.symbols index 2bed52247c080..842c24027535a 100644 --- a/tests/baselines/reference/libCompileChecks.symbols +++ b/tests/baselines/reference/libCompileChecks.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/libCompileChecks.ts === + // This test is effectively the 'lib check' for all our .d.ts files because we use skipLibCheck -No type information for this code.// as false everywhere. -No type information for this code. \ No newline at end of file +// as false everywhere. diff --git a/tests/baselines/reference/libCompileChecks.types b/tests/baselines/reference/libCompileChecks.types index 2bed52247c080..842c24027535a 100644 --- a/tests/baselines/reference/libCompileChecks.types +++ b/tests/baselines/reference/libCompileChecks.types @@ -1,4 +1,4 @@ === tests/cases/compiler/libCompileChecks.ts === + // This test is effectively the 'lib check' for all our .d.ts files because we use skipLibCheck -No type information for this code.// as false everywhere. -No type information for this code. \ No newline at end of file +// as false everywhere. diff --git a/tests/baselines/reference/libReferenceNoLib.types b/tests/baselines/reference/libReferenceNoLib.types index 0b2733c226582..7c619894b6c79 100644 --- a/tests/baselines/reference/libReferenceNoLib.types +++ b/tests/baselines/reference/libReferenceNoLib.types @@ -1,17 +1,18 @@ === tests/cases/conformance/declarationEmit/fakelib.ts === + // Test that passing noLib disables resolution. -No type information for this code. -No type information for this code.interface Object { } -No type information for this code.interface Array { } -No type information for this code.interface String { } -No type information for this code.interface Boolean { } -No type information for this code.interface Number { } -No type information for this code.interface Function { } -No type information for this code.interface RegExp { } -No type information for this code.interface IArguments { } -No type information for this code. -No type information for this code. -No type information for this code.=== tests/cases/conformance/declarationEmit/file1.ts === + +interface Object { } +interface Array { } +interface String { } +interface Boolean { } +interface Number { } +interface Function { } +interface RegExp { } +interface IArguments { } + + +=== tests/cases/conformance/declarationEmit/file1.ts === /// export declare interface HTMLElement { field: string; } >field : string diff --git a/tests/baselines/reference/libReferenceNoLibBundle.types b/tests/baselines/reference/libReferenceNoLibBundle.types index 0b2733c226582..7c619894b6c79 100644 --- a/tests/baselines/reference/libReferenceNoLibBundle.types +++ b/tests/baselines/reference/libReferenceNoLibBundle.types @@ -1,17 +1,18 @@ === tests/cases/conformance/declarationEmit/fakelib.ts === + // Test that passing noLib disables resolution. -No type information for this code. -No type information for this code.interface Object { } -No type information for this code.interface Array { } -No type information for this code.interface String { } -No type information for this code.interface Boolean { } -No type information for this code.interface Number { } -No type information for this code.interface Function { } -No type information for this code.interface RegExp { } -No type information for this code.interface IArguments { } -No type information for this code. -No type information for this code. -No type information for this code.=== tests/cases/conformance/declarationEmit/file1.ts === + +interface Object { } +interface Array { } +interface String { } +interface Boolean { } +interface Number { } +interface Function { } +interface RegExp { } +interface IArguments { } + + +=== tests/cases/conformance/declarationEmit/file1.ts === /// export declare interface HTMLElement { field: string; } >field : string diff --git a/tests/baselines/reference/libTypeScriptSubfileResolving.symbols b/tests/baselines/reference/libTypeScriptSubfileResolving.symbols index dce0e21d6a371..4920433c469db 100644 --- a/tests/baselines/reference/libTypeScriptSubfileResolving.symbols +++ b/tests/baselines/reference/libTypeScriptSubfileResolving.symbols @@ -1,6 +1,7 @@ === /node_modules/@typescript/lib-dom/index.d.ts === + // NOOP -No type information for this code.=== /node_modules/@typescript/lib-dom/iterable.d.ts === +=== /node_modules/@typescript/lib-dom/iterable.d.ts === interface DOMIterable { abc: string } >DOMIterable : Symbol(DOMIterable, Decl(iterable.d.ts, 0, 0)) >abc : Symbol(DOMIterable.abc, Decl(iterable.d.ts, 0, 23)) diff --git a/tests/baselines/reference/libTypeScriptSubfileResolving.types b/tests/baselines/reference/libTypeScriptSubfileResolving.types index 73bd9f87814d1..073d0e5574500 100644 --- a/tests/baselines/reference/libTypeScriptSubfileResolving.types +++ b/tests/baselines/reference/libTypeScriptSubfileResolving.types @@ -1,6 +1,7 @@ === /node_modules/@typescript/lib-dom/index.d.ts === + // NOOP -No type information for this code.=== /node_modules/@typescript/lib-dom/iterable.d.ts === +=== /node_modules/@typescript/lib-dom/iterable.d.ts === interface DOMIterable { abc: string } >abc : string diff --git a/tests/baselines/reference/library-reference-4.symbols b/tests/baselines/reference/library-reference-4.symbols index 37a0e267d002b..4f974f56edc94 100644 --- a/tests/baselines/reference/library-reference-4.symbols +++ b/tests/baselines/reference/library-reference-4.symbols @@ -1,8 +1,9 @@ === /src/root.ts === + /// -No type information for this code./// -No type information for this code. -No type information for this code.=== /node_modules/foo/index.d.ts === +/// + +=== /node_modules/foo/index.d.ts === // Secondary references may be duplicated if they agree in content /// diff --git a/tests/baselines/reference/library-reference-4.types b/tests/baselines/reference/library-reference-4.types index 329ad50995fe1..ed03a3492557c 100644 --- a/tests/baselines/reference/library-reference-4.types +++ b/tests/baselines/reference/library-reference-4.types @@ -1,8 +1,9 @@ === /src/root.ts === + /// -No type information for this code./// -No type information for this code. -No type information for this code.=== /node_modules/foo/index.d.ts === +/// + +=== /node_modules/foo/index.d.ts === // Secondary references may be duplicated if they agree in content /// diff --git a/tests/baselines/reference/library-reference-5.symbols b/tests/baselines/reference/library-reference-5.symbols index 111d9cc21f590..d8a11c3aaa759 100644 --- a/tests/baselines/reference/library-reference-5.symbols +++ b/tests/baselines/reference/library-reference-5.symbols @@ -1,8 +1,9 @@ === /src/root.ts === + /// -No type information for this code./// -No type information for this code. -No type information for this code.=== /node_modules/foo/index.d.ts === +/// + +=== /node_modules/foo/index.d.ts === // Secondary references may not be duplicated if they disagree in content /// diff --git a/tests/baselines/reference/library-reference-5.types b/tests/baselines/reference/library-reference-5.types index 8b80dc87157d6..0bdf269f634b4 100644 --- a/tests/baselines/reference/library-reference-5.types +++ b/tests/baselines/reference/library-reference-5.types @@ -1,8 +1,9 @@ === /src/root.ts === + /// -No type information for this code./// -No type information for this code. -No type information for this code.=== /node_modules/foo/index.d.ts === +/// + +=== /node_modules/foo/index.d.ts === // Secondary references may not be duplicated if they disagree in content /// diff --git a/tests/baselines/reference/library-reference-scoped-packages.symbols b/tests/baselines/reference/library-reference-scoped-packages.symbols index 60ccaab89d2a5..42bbed6fb5211 100644 --- a/tests/baselines/reference/library-reference-scoped-packages.symbols +++ b/tests/baselines/reference/library-reference-scoped-packages.symbols @@ -1,7 +1,8 @@ === /a.ts === + /// -No type information for this code. -No type information for this code.=== /node_modules/@types/beep__boop/index.d.ts === + +=== /node_modules/@types/beep__boop/index.d.ts === export const y = 0; >y : Symbol(y, Decl(index.d.ts, 0, 12)) diff --git a/tests/baselines/reference/library-reference-scoped-packages.types b/tests/baselines/reference/library-reference-scoped-packages.types index bbb3062d98bd2..7c048d5f97ca8 100644 --- a/tests/baselines/reference/library-reference-scoped-packages.types +++ b/tests/baselines/reference/library-reference-scoped-packages.types @@ -1,7 +1,8 @@ === /a.ts === + /// -No type information for this code. -No type information for this code.=== /node_modules/@types/beep__boop/index.d.ts === + +=== /node_modules/@types/beep__boop/index.d.ts === export const y = 0; >y : 0 >0 : 0 diff --git a/tests/baselines/reference/logicalNotExpression1.symbols b/tests/baselines/reference/logicalNotExpression1.symbols index e09f4bca9e272..f3d38860e39d6 100644 --- a/tests/baselines/reference/logicalNotExpression1.symbols +++ b/tests/baselines/reference/logicalNotExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/logicalNotExpression1.ts === + !foo; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/manyCompilerErrorsInTheTwoFiles.symbols b/tests/baselines/reference/manyCompilerErrorsInTheTwoFiles.symbols index 921ab9843978a..ef25c54b5c2ec 100644 --- a/tests/baselines/reference/manyCompilerErrorsInTheTwoFiles.symbols +++ b/tests/baselines/reference/manyCompilerErrorsInTheTwoFiles.symbols @@ -10,7 +10,7 @@ HERE's A shouty thing GOTTA GO FAST === tests/cases/compiler/b.ts === + fhqwhgads -No type information for this code.to -No type information for this code.limit -No type information for this code. \ No newline at end of file +to +limit diff --git a/tests/baselines/reference/mappedTypeAsClauses.types b/tests/baselines/reference/mappedTypeAsClauses.types index de951157933a3..31ee234f7daf4 100644 --- a/tests/baselines/reference/mappedTypeAsClauses.types +++ b/tests/baselines/reference/mappedTypeAsClauses.types @@ -61,7 +61,7 @@ type TD1 = DoubleProp<{ a: string, b: number }>; // { a1: string, a2: string, b >b : number type TD2 = keyof TD1; // 'a1' | 'a2' | 'b1' | 'b2' ->TD2 : "a1" | "a2" | "b1" | "b2" +>TD2 : "a1" | "b1" | "a2" | "b2" type TD3 = keyof DoubleProp; // `${keyof U & string}1` | `${keyof U & string}2` >TD3 : `${keyof U & string}1` | `${keyof U & string}2` diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 0a62683b1fbe3..6129281d6837b 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -97,17 +97,17 @@ const out2 = foo(xhr); >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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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 : { 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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: 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; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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 : { 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 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; 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; write: any; writeln: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly DONE: { 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 OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { 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; dispatchEvent: 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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; } +>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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: 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; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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 : { readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly 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; }; 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; }; 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 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; 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; write: any; writeln: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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 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 delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: 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; closest: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: 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; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; 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; }; 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; }; 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; }; 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; 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 nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; }; } ->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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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 : { 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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: 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; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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 : { 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 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; 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; write: any; writeln: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly DONE: { 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 OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly UNSENT: { 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; dispatchEvent: 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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; } +>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: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { async: any; charset: any; crossOrigin: any; defer: any; event: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 href: any; }; readonly defaultView: { 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; 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; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: 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; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: 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; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: 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; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSPageRule: any; CSSRule: any; CSSRuleList: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSSupportsRule: any; CSSTransition: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; ConstantSourceNode: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: 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; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: 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; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: 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; 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; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; Location: any; Lock: any; LockManager: 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; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: 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; PageTransitionEvent: any; PannerNode: any; Path2D: 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; 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; 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; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: 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; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoPlaybackQuality: any; VisualViewport: 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; WheelEvent: any; Window: 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; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: 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: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { item: any; namedItem: any; readonly length: 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: { 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 transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: 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; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; 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; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; oncopy: unknown; oncut: unknown; onpaste: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: unknown[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncuechange: 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; 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; 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 childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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 : { readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly 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; }; 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; }; 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 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; 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; write: any; writeln: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; oncopy: any; oncut: any; onpaste: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 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 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 delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: 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; closest: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: 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; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: 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: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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: { 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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 parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; addEventListener: any; dispatchEvent: any; removeEventListener: 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 ATTRIBUTE_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 COMMENT_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 DOCUMENT_NODE: { 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_CONTAINS: { 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_FOLLOWING: { 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 DOCUMENT_POSITION_PRECEDING: { 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 ELEMENT_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 ENTITY_REFERENCE_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 PROCESSING_INSTRUCTION_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; }; dispatchEvent: unknown; 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; }; 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; }; 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; }; 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; 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 nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: 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; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly 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; closest: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: 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; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: 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 ATTRIBUTE_NODE: any; readonly CDATA_SECTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_TYPE_NODE: any; readonly ELEMENT_NODE: any; readonly ENTITY_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly NOTATION_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly TEXT_NODE: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColIndexText: any; ariaColSpan: any; ariaCurrent: 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; 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; innerHTML: 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; oncopy: any; oncut: any; onpaste: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncuechange: 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; 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; 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; }; } >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/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt index 4523d9a9ade24..d8a6111c8458b 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt @@ -7,5 +7,5 @@ tests/cases/compiler/mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error T tgt2 = src2; // Should error ~~~~ !!! error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: () => string; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (this: void, value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [iterator]: () => IterableIterator; [unscopables]: () => { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; }; }' but required in type 'number[]'. -!!! related TS2728 /.ts/lib.es5.d.ts:1303:5: 'length' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1304:5: 'length' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/mergeMultipleInterfacesReexported.symbols b/tests/baselines/reference/mergeMultipleInterfacesReexported.symbols index c40babde0a3d9..4817edf286199 100644 --- a/tests/baselines/reference/mergeMultipleInterfacesReexported.symbols +++ b/tests/baselines/reference/mergeMultipleInterfacesReexported.symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/index.ts === + export * from './eventList'; -No type information for this code. -No type information for this code.=== tests/cases/compiler/test.ts === + +=== tests/cases/compiler/test.ts === import { EventList } from "./eventList"; >EventList : Symbol(EventList, Decl(test.ts, 0, 8)) diff --git a/tests/baselines/reference/mergeMultipleInterfacesReexported.types b/tests/baselines/reference/mergeMultipleInterfacesReexported.types index 1096770ca61b5..c976edaa5d435 100644 --- a/tests/baselines/reference/mergeMultipleInterfacesReexported.types +++ b/tests/baselines/reference/mergeMultipleInterfacesReexported.types @@ -1,7 +1,8 @@ === tests/cases/compiler/index.ts === + export * from './eventList'; -No type information for this code. -No type information for this code.=== tests/cases/compiler/test.ts === + +=== tests/cases/compiler/test.ts === import { EventList } from "./eventList"; >EventList : any diff --git a/tests/baselines/reference/missingArgument1.symbols b/tests/baselines/reference/missingArgument1.symbols index 092356de4a630..d8bfb1a8fc3f3 100644 --- a/tests/baselines/reference/missingArgument1.symbols +++ b/tests/baselines/reference/missingArgument1.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/missingArgument1.ts === + foo(a,,b); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/missingDecoratorType.types b/tests/baselines/reference/missingDecoratorType.types index fc73bd142ea43..ce94cd09cda9a 100644 --- a/tests/baselines/reference/missingDecoratorType.types +++ b/tests/baselines/reference/missingDecoratorType.types @@ -1,14 +1,15 @@ === tests/cases/conformance/decorators/a.ts === + interface Object { } -No type information for this code.interface Array { } -No type information for this code.interface String { } -No type information for this code.interface Boolean { } -No type information for this code.interface Number { } -No type information for this code.interface Function { } -No type information for this code.interface RegExp { } -No type information for this code.interface IArguments { } -No type information for this code. -No type information for this code.=== tests/cases/conformance/decorators/b.ts === +interface Array { } +interface String { } +interface Boolean { } +interface Number { } +interface Function { } +interface RegExp { } +interface IArguments { } + +=== tests/cases/conformance/decorators/b.ts === declare function dec(t, k, d); >dec : (t: any, k: any, d: any) => any >t : any diff --git a/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.symbols b/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.symbols index 7f51b640e1fd2..6a26f636cb2bc 100644 --- a/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.symbols +++ b/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.symbols @@ -6,8 +6,9 @@ export interface Foo { >x : Symbol(Foo.x, Decl(file.ts, 0, 22)) } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : Symbol(ns, Decl(augment.ts, 0, 6)) diff --git a/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.types b/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.types index 888a73a31388e..2e4f6ac5f14b8 100644 --- a/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.types +++ b/tests/baselines/reference/moduleAugmentationDoesInterfaceMergeOfReexport.types @@ -4,8 +4,9 @@ export interface Foo { >x : number } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : typeof ns diff --git a/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.symbols b/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.symbols index 89c0878d8405c..5a4cffe9a7c9a 100644 --- a/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.symbols +++ b/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.symbols @@ -11,8 +11,9 @@ export namespace Root { } } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : Symbol(ns, Decl(augment.ts, 0, 6)) diff --git a/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.types b/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.types index d10ce176c2667..a5d045abc92d8 100644 --- a/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.types +++ b/tests/baselines/reference/moduleAugmentationDoesNamespaceEnumMergeOfReexport.types @@ -7,8 +7,9 @@ export namespace Root { } } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : typeof ns diff --git a/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.symbols b/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.symbols index e887acceb93a4..f43aa48b97ba1 100644 --- a/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.symbols +++ b/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.symbols @@ -10,8 +10,9 @@ export namespace Root { } } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : Symbol(ns, Decl(augment.ts, 0, 6)) diff --git a/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.types b/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.types index 39143e003fad9..591418d6a13fb 100644 --- a/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.types +++ b/tests/baselines/reference/moduleAugmentationDoesNamespaceMergeOfReexport.types @@ -6,8 +6,9 @@ export namespace Root { } } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : typeof ns diff --git a/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.symbols b/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.symbols index b91d43b7c71e4..32c0aa73ebcfc 100644 --- a/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.symbols +++ b/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.symbols @@ -6,8 +6,9 @@ export class Foo { >member : Symbol(Foo.member, Decl(file.ts, 0, 18)) } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : Symbol(ns, Decl(augment.ts, 0, 6)) diff --git a/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.types b/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.types index 4bd02308a9ab3..53a0353c3ac4a 100644 --- a/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.types +++ b/tests/baselines/reference/moduleAugmentationEnumClassMergeOfReexportIsError.types @@ -6,8 +6,9 @@ export class Foo { >member : string } === tests/cases/compiler/reexport.ts === + export * from "./file"; -No type information for this code.=== tests/cases/compiler/augment.ts === +=== tests/cases/compiler/augment.ts === import * as ns from "./reexport"; >ns : typeof ns diff --git a/tests/baselines/reference/moduleAugmentationGlobal4.symbols b/tests/baselines/reference/moduleAugmentationGlobal4.symbols index 5a2ed5c76e716..527f50333f1e0 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal4.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal4.symbols @@ -17,8 +17,8 @@ declare global { } export {}; === tests/cases/compiler/f3.ts === + import "./f1"; -No type information for this code.import "./f2"; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file +import "./f2"; + + diff --git a/tests/baselines/reference/moduleAugmentationGlobal4.types b/tests/baselines/reference/moduleAugmentationGlobal4.types index 910e8beba5403..d80d12abeed4b 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal4.types +++ b/tests/baselines/reference/moduleAugmentationGlobal4.types @@ -15,8 +15,8 @@ declare global { } export {}; === tests/cases/compiler/f3.ts === + import "./f1"; -No type information for this code.import "./f2"; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file +import "./f2"; + + diff --git a/tests/baselines/reference/moduleAugmentationGlobal5.symbols b/tests/baselines/reference/moduleAugmentationGlobal5.symbols index cafb662e14f42..5677c288abd4e 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal5.symbols +++ b/tests/baselines/reference/moduleAugmentationGlobal5.symbols @@ -1,11 +1,12 @@ === tests/cases/compiler/f3.ts === + /// -No type information for this code./// -No type information for this code.import "A"; -No type information for this code.import "B"; -No type information for this code. -No type information for this code. -No type information for this code.=== tests/cases/compiler/f1.d.ts === +/// +import "A"; +import "B"; + + +=== tests/cases/compiler/f1.d.ts === declare module "A" { >"A" : Symbol("A", Decl(f1.d.ts, 0, 0)) diff --git a/tests/baselines/reference/moduleAugmentationGlobal5.types b/tests/baselines/reference/moduleAugmentationGlobal5.types index e87c411d085bb..5a733310cf1c8 100644 --- a/tests/baselines/reference/moduleAugmentationGlobal5.types +++ b/tests/baselines/reference/moduleAugmentationGlobal5.types @@ -1,11 +1,12 @@ === tests/cases/compiler/f3.ts === + /// -No type information for this code./// -No type information for this code.import "A"; -No type information for this code.import "B"; -No type information for this code. -No type information for this code. -No type information for this code.=== tests/cases/compiler/f1.d.ts === +/// +import "A"; +import "B"; + + +=== tests/cases/compiler/f1.d.ts === declare module "A" { >"A" : typeof import("A") diff --git a/tests/baselines/reference/moduleAugmentationInDependency.symbols b/tests/baselines/reference/moduleAugmentationInDependency.symbols index 1913a2fbda60c..4805014867aaa 100644 --- a/tests/baselines/reference/moduleAugmentationInDependency.symbols +++ b/tests/baselines/reference/moduleAugmentationInDependency.symbols @@ -5,5 +5,5 @@ declare module "ext" { export {}; === /src/app.ts === + import "A" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/moduleAugmentationInDependency.types b/tests/baselines/reference/moduleAugmentationInDependency.types index d4d09c61f5389..2add398e7a554 100644 --- a/tests/baselines/reference/moduleAugmentationInDependency.types +++ b/tests/baselines/reference/moduleAugmentationInDependency.types @@ -5,5 +5,5 @@ declare module "ext" { export {}; === /src/app.ts === + import "A" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/moduleAugmentationInDependency2.symbols b/tests/baselines/reference/moduleAugmentationInDependency2.symbols index dc540ea909f6d..3ddb9db120e03 100644 --- a/tests/baselines/reference/moduleAugmentationInDependency2.symbols +++ b/tests/baselines/reference/moduleAugmentationInDependency2.symbols @@ -5,5 +5,5 @@ declare module "ext" { export {}; === /src/app.ts === + import "A" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/moduleAugmentationInDependency2.types b/tests/baselines/reference/moduleAugmentationInDependency2.types index 41942d083bc24..1d01bf94a7c30 100644 --- a/tests/baselines/reference/moduleAugmentationInDependency2.types +++ b/tests/baselines/reference/moduleAugmentationInDependency2.types @@ -5,5 +5,5 @@ declare module "ext" { export {}; === /src/app.ts === + import "A" -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols b/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols index fb67e53c5448c..f5c09f477e77d 100644 --- a/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols +++ b/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.symbols @@ -1,7 +1,8 @@ === tests/cases/compiler/model/index.ts === + export * from "./account"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/model/account.ts === + +=== tests/cases/compiler/model/account.ts === export interface Account { >Account : Symbol(Account, Decl(account.ts, 0, 0)) diff --git a/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.types b/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.types index fd5403b0834d6..5a6e7c43e8d43 100644 --- a/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.types +++ b/tests/baselines/reference/moduleDeclarationExportStarShadowingGlobalIsNameable.types @@ -1,7 +1,8 @@ === tests/cases/compiler/model/index.ts === + export * from "./account"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/model/account.ts === + +=== tests/cases/compiler/model/account.ts === export interface Account { myAccNum: number; >myAccNum : number diff --git a/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types b/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types index 63bcc00dbca19..faff899c7d17e 100644 --- a/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types +++ b/tests/baselines/reference/moduleImportedForTypeArgumentPosition.types @@ -13,6 +13,6 @@ class Test1 extends C1 { } === tests/cases/compiler/moduleImportedForTypeArgumentPosition_0.ts === + export interface M2C { } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleKeywordRepeatError.symbols b/tests/baselines/reference/moduleKeywordRepeatError.symbols index ee1928137dcf0..3df7d142dc1be 100644 --- a/tests/baselines/reference/moduleKeywordRepeatError.symbols +++ b/tests/baselines/reference/moduleKeywordRepeatError.symbols @@ -1,5 +1,5 @@ === tests/cases/compiler/moduleKeywordRepeatError.ts === + // "module.module { }" should raise a syntax error -No type information for this code. -No type information for this code.module.module { } -No type information for this code. \ No newline at end of file + +module.module { } diff --git a/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.symbols b/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.symbols index aa2fb0375ed84..9b251b7e3b5f7 100644 --- a/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.symbols +++ b/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.symbols @@ -10,8 +10,9 @@ export interface ISpinButton {} >ISpinButton : Symbol(ISpinButton, Decl(index.d.ts, 0, 51)) === tests/cases/compiler/node_modules/troublesome-lib/lib/utilities/positioning.d.ts === + export * from './positioning/index'; -No type information for this code.=== tests/cases/compiler/node_modules/troublesome-lib/lib/utilities/positioning/index.d.ts === +=== tests/cases/compiler/node_modules/troublesome-lib/lib/utilities/positioning/index.d.ts === export declare enum Position { >Position : Symbol(Position, Decl(index.d.ts, 0, 0)) diff --git a/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.types b/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.types index def8b2fce4b13..3770534c7ca5f 100644 --- a/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.types +++ b/tests/baselines/reference/moduleLocalImportNotIncorrectlyRedirected.types @@ -8,8 +8,9 @@ import { Position } from './utilities/positioning'; export interface ISpinButton {} === tests/cases/compiler/node_modules/troublesome-lib/lib/utilities/positioning.d.ts === + export * from './positioning/index'; -No type information for this code.=== tests/cases/compiler/node_modules/troublesome-lib/lib/utilities/positioning/index.d.ts === +=== tests/cases/compiler/node_modules/troublesome-lib/lib/utilities/positioning/index.d.ts === export declare enum Position { >Position : Position diff --git a/tests/baselines/reference/moduleMemberMissingErrorIsRelative.symbols b/tests/baselines/reference/moduleMemberMissingErrorIsRelative.symbols index 8650f888c281e..751d7982f8140 100644 --- a/tests/baselines/reference/moduleMemberMissingErrorIsRelative.symbols +++ b/tests/baselines/reference/moduleMemberMissingErrorIsRelative.symbols @@ -1,6 +1,7 @@ === tests/cases/compiler/folder/foo.ts === + export {}; -No type information for this code.=== tests/cases/compiler/folder/bar.ts === +=== tests/cases/compiler/folder/bar.ts === import {nosuch} from './foo'; >nosuch : Symbol(nosuch, Decl(bar.ts, 0, 8)) diff --git a/tests/baselines/reference/moduleMemberMissingErrorIsRelative.types b/tests/baselines/reference/moduleMemberMissingErrorIsRelative.types index ef779f2abdb3b..8e00a4654e4bb 100644 --- a/tests/baselines/reference/moduleMemberMissingErrorIsRelative.types +++ b/tests/baselines/reference/moduleMemberMissingErrorIsRelative.types @@ -1,6 +1,7 @@ === tests/cases/compiler/folder/foo.ts === + export {}; -No type information for this code.=== tests/cases/compiler/folder/bar.ts === +=== tests/cases/compiler/folder/bar.ts === import {nosuch} from './foo'; >nosuch : any diff --git a/tests/baselines/reference/moduleResolutionNoTsCJS.symbols b/tests/baselines/reference/moduleResolutionNoTsCJS.symbols index c71f18a0790a1..0abe72054c717 100644 --- a/tests/baselines/reference/moduleResolutionNoTsCJS.symbols +++ b/tests/baselines/reference/moduleResolutionNoTsCJS.symbols @@ -1,12 +1,14 @@ === tests/cases/compiler/x.ts === + // CommonJS output -No type information for this code. -No type information for this code.export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/y.tsx === + +export default 0; + +=== tests/cases/compiler/y.tsx === + export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/z.d.ts === declare const x: number; >x : Symbol(x, Decl(z.d.ts, 0, 13)) diff --git a/tests/baselines/reference/moduleResolutionNoTsCJS.types b/tests/baselines/reference/moduleResolutionNoTsCJS.types index 419180d79761a..4a7a1c89564c2 100644 --- a/tests/baselines/reference/moduleResolutionNoTsCJS.types +++ b/tests/baselines/reference/moduleResolutionNoTsCJS.types @@ -1,12 +1,14 @@ === tests/cases/compiler/x.ts === + // CommonJS output -No type information for this code. -No type information for this code.export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/y.tsx === + +export default 0; + +=== tests/cases/compiler/y.tsx === + export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/z.d.ts === declare const x: number; >x : number diff --git a/tests/baselines/reference/moduleResolutionNoTsESM.symbols b/tests/baselines/reference/moduleResolutionNoTsESM.symbols index eaf61024fb0e8..0a7925c4f6e27 100644 --- a/tests/baselines/reference/moduleResolutionNoTsESM.symbols +++ b/tests/baselines/reference/moduleResolutionNoTsESM.symbols @@ -1,12 +1,14 @@ === tests/cases/compiler/x.ts === + // ESM output -No type information for this code. -No type information for this code.export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/y.tsx === + +export default 0; + +=== tests/cases/compiler/y.tsx === + export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/z.d.ts === declare const x: number; >x : Symbol(x, Decl(z.d.ts, 0, 13)) diff --git a/tests/baselines/reference/moduleResolutionNoTsESM.types b/tests/baselines/reference/moduleResolutionNoTsESM.types index 199a513549de4..4ff610e49fda5 100644 --- a/tests/baselines/reference/moduleResolutionNoTsESM.types +++ b/tests/baselines/reference/moduleResolutionNoTsESM.types @@ -1,12 +1,14 @@ === tests/cases/compiler/x.ts === + // ESM output -No type information for this code. -No type information for this code.export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/y.tsx === + +export default 0; + +=== tests/cases/compiler/y.tsx === + export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/z.d.ts === declare const x: number; >x : number diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.symbols b/tests/baselines/reference/moduleResolutionWithExtensions.symbols index d01f2206165fc..2ee6979bc41b3 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.symbols +++ b/tests/baselines/reference/moduleResolutionWithExtensions.symbols @@ -1,8 +1,9 @@ === /src/a.ts === + export default 0; -No type information for this code. -No type information for this code.// No extension: '.ts' added -No type information for this code.=== /src/b.ts === + +// No extension: '.ts' added +=== /src/b.ts === import a from './a'; >a : Symbol(a, Decl(b.ts, 0, 6)) diff --git a/tests/baselines/reference/moduleResolutionWithExtensions.types b/tests/baselines/reference/moduleResolutionWithExtensions.types index 7b530030eb5e2..34c4c19cbd7be 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions.types @@ -1,8 +1,9 @@ === /src/a.ts === + export default 0; -No type information for this code. -No type information for this code.// No extension: '.ts' added -No type information for this code.=== /src/b.ts === + +// No extension: '.ts' added +=== /src/b.ts === import a from './a'; >a : 0 diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.symbols b/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.symbols index af9dc4154d443..d6b4d68e4a5ff 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.symbols +++ b/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.symbols @@ -3,6 +3,6 @@ import b from "./b"; >b : Symbol(b, Decl(a.ts, 0, 6)) === /b/index.ts === + export default 0; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.types b/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.types index 0e418c5dc143c..8c5c92df59c03 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions_preferTs.types @@ -3,6 +3,6 @@ import b from "./b"; >b : 0 === /b/index.ts === + export default 0; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.symbols b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.symbols index a73d58fd7d8e9..37911f91f2452 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.symbols +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.symbols @@ -1,4 +1,4 @@ === /a.ts === + import "normalize.css"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.types b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.types index a73d58fd7d8e9..37911f91f2452 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.types @@ -1,4 +1,4 @@ === /a.ts === + import "normalize.css"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.symbols b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.symbols index 11c9c72cc6907..05ff9ad2c5ef4 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.symbols +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.symbols @@ -1,4 +1,4 @@ === /a.ts === + import "foo"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.types b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.types index 11c9c72cc6907..05ff9ad2c5ef4 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.types +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.types @@ -1,4 +1,4 @@ === /a.ts === + import "foo"; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.symbols b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.symbols index 46806e5313f3f..eb6180979689f 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.symbols +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.symbols @@ -1,8 +1,9 @@ === /app.ts === + /// -No type information for this code./// -No type information for this code. -No type information for this code.=== /node_modules/@types/library-a/index.d.ts === +/// + +=== /node_modules/@types/library-a/index.d.ts === // Symlinks are always resolved for type reference directives. // NOTE: This test would still compile without errors even if they were not, // because `processTypeReferenceDirective` also checks for textual equivalence of file contents. @@ -14,6 +15,6 @@ declare class MyClass { private x: number; } >x : Symbol(MyClass.x, Decl(index.d.ts, 6, 23)) === /node_modules/@types/library-b/index.d.ts === + /// -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.types b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.types index 2094265709f6e..07e0bd65394ec 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.types +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.types @@ -1,8 +1,9 @@ === /app.ts === + /// -No type information for this code./// -No type information for this code. -No type information for this code.=== /node_modules/@types/library-a/index.d.ts === +/// + +=== /node_modules/@types/library-a/index.d.ts === // Symlinks are always resolved for type reference directives. // NOTE: This test would still compile without errors even if they were not, // because `processTypeReferenceDirective` also checks for textual equivalence of file contents. @@ -14,6 +15,6 @@ declare class MyClass { private x: number; } >x : number === /node_modules/@types/library-b/index.d.ts === + /// -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleResolution_noLeadingDot.symbols b/tests/baselines/reference/moduleResolution_noLeadingDot.symbols index a7ee88bd3ff22..e9daacf08e533 100644 --- a/tests/baselines/reference/moduleResolution_noLeadingDot.symbols +++ b/tests/baselines/reference/moduleResolution_noLeadingDot.symbols @@ -1,4 +1,4 @@ === /a.ts === + true; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.symbols b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.symbols index 2f8bba9b6aba4..1bdac309c68a4 100644 --- a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.symbols +++ b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.symbols @@ -1,11 +1,13 @@ === tests/cases/compiler/a.ts === + export * from "./b"; -No type information for this code.export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/c.ts === + +=== tests/cases/compiler/b.ts === + +export * from "./c"; + +=== tests/cases/compiler/c.ts === export var foo = 42; >foo : Symbol(foo, Decl(c.ts, 0, 10)) diff --git a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types index bfeb5a14c94c5..db0c144b16043 100644 --- a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types +++ b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings1.types @@ -1,11 +1,13 @@ === tests/cases/compiler/a.ts === + export * from "./b"; -No type information for this code.export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/c.ts === + +=== tests/cases/compiler/b.ts === + +export * from "./c"; + +=== tests/cases/compiler/c.ts === export var foo = 42; >foo : number >42 : 42 diff --git a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.symbols b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.symbols index 390fd1b0bedfd..e2080f651361f 100644 --- a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.symbols +++ b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.symbols @@ -1,8 +1,9 @@ === tests/cases/compiler/a.ts === + export * from "./b"; -No type information for this code.export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === +export * from "./c"; + +=== tests/cases/compiler/b.ts === export {Animals} from "./c"; >Animals : Symbol(Animals, Decl(b.ts, 0, 8)) diff --git a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types index fbcc5fa6c43be..c0eb8b05f7028 100644 --- a/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types +++ b/tests/baselines/reference/moduleSameValueDuplicateExportedBindings2.types @@ -1,8 +1,9 @@ === tests/cases/compiler/a.ts === + export * from "./b"; -No type information for this code.export * from "./c"; -No type information for this code. -No type information for this code.=== tests/cases/compiler/b.ts === +export * from "./c"; + +=== tests/cases/compiler/b.ts === export {Animals} from "./c"; >Animals : typeof import("tests/cases/compiler/c").Animals diff --git a/tests/baselines/reference/moduleSymbolMerging.types b/tests/baselines/reference/moduleSymbolMerging.types index 58189c8b987de..eb818ec8756e3 100644 --- a/tests/baselines/reference/moduleSymbolMerging.types +++ b/tests/baselines/reference/moduleSymbolMerging.types @@ -14,6 +14,6 @@ module B { === tests/cases/compiler/A.ts === + module A { export interface I {} } -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/namespacesDeclaration1.types b/tests/baselines/reference/namespacesDeclaration1.types index 6da52fe3207dd..a3094575fe685 100644 --- a/tests/baselines/reference/namespacesDeclaration1.types +++ b/tests/baselines/reference/namespacesDeclaration1.types @@ -1,9 +1,9 @@ === tests/cases/compiler/namespacesDeclaration1.ts === + module M { -No type information for this code. export namespace N { -No type information for this code. export module M2 { -No type information for this code. export interface I {} -No type information for this code. } -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file + export namespace N { + export module M2 { + export interface I {} + } + } +} diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt b/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt index 16e36f119e8fb..6eeddecfb1b68 100644 --- a/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt +++ b/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt @@ -24,7 +24,7 @@ tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts(16,17) err.massage; // ERROR: Property 'massage' does not exist on type 'Error' ~~~~~~~ !!! error TS2551: Property 'massage' does not exist on type 'Error'. Did you mean 'message'? -!!! related TS2728 /.ts/lib.es5.d.ts:1053:5: 'message' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1054:5: 'message' is declared here. } else { diff --git a/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt b/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt index f0707d7fbc485..5e5918b323351 100644 --- a/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt +++ b/tests/baselines/reference/narrowFromAnyWithInstanceof.errors.txt @@ -22,7 +22,7 @@ tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts(22,7): error TS x.mesage; ~~~~~~ !!! error TS2551: Property 'mesage' does not exist on type 'Error'. Did you mean 'message'? -!!! related TS2728 /.ts/lib.es5.d.ts:1053:5: 'message' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1054:5: 'message' is declared here. } if (x instanceof Date) { diff --git a/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt b/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt index a104e9e4a334c..bf105754b9d86 100644 --- a/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt +++ b/tests/baselines/reference/narrowFromAnyWithTypePredicate.errors.txt @@ -41,7 +41,7 @@ tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts(33,7): error x.mesage; ~~~~~~ !!! error TS2551: Property 'mesage' does not exist on type 'Error'. Did you mean 'message'? -!!! related TS2728 /.ts/lib.es5.d.ts:1053:5: 'message' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1054:5: 'message' is declared here. } if (isDate(x)) { diff --git a/tests/baselines/reference/nestedExcessPropertyChecking.errors.txt b/tests/baselines/reference/nestedExcessPropertyChecking.errors.txt new file mode 100644 index 0000000000000..c7704691e1e29 --- /dev/null +++ b/tests/baselines/reference/nestedExcessPropertyChecking.errors.txt @@ -0,0 +1,70 @@ +tests/cases/compiler/nestedExcessPropertyChecking.ts(6,7): error TS2322: Type 'C1' is not assignable to type 'A1 & B1'. + Types of property 'x' are incompatible. + Type '{ c: string; }' has no properties in common with type '{ a?: string | undefined; } & { b?: string | undefined; }'. +tests/cases/compiler/nestedExcessPropertyChecking.ts(13,7): error TS2559: Type 'C2' has no properties in common with type 'A2 & B2'. +tests/cases/compiler/nestedExcessPropertyChecking.ts(17,5): error TS2559: Type 'E' has no properties in common with type '{ nope?: any; }'. +tests/cases/compiler/nestedExcessPropertyChecking.ts(18,5): error TS2559: Type '"A"' has no properties in common with type '{ nope?: any; }'. +tests/cases/compiler/nestedExcessPropertyChecking.ts(30,22): error TS2559: Type 'false' has no properties in common with type 'OverridesInput'. +tests/cases/compiler/nestedExcessPropertyChecking.ts(40,9): error TS2559: Type 'false' has no properties in common with type 'OverridesInput'. + + +==== tests/cases/compiler/nestedExcessPropertyChecking.ts (6 errors) ==== + type A1 = { x: { a?: string } }; + type B1 = { x: { b?: string } }; + + type C1 = { x: { c: string } }; + + const ab1: A1 & B1 = {} as C1; // Error + ~~~ +!!! error TS2322: Type 'C1' is not assignable to type 'A1 & B1'. +!!! error TS2322: Types of property 'x' are incompatible. +!!! error TS2322: Type '{ c: string; }' has no properties in common with type '{ a?: string | undefined; } & { b?: string | undefined; }'. + + type A2 = { a?: string }; + type B2 = { b?: string }; + + type C2 = { c: string }; + + const ab2: A2 & B2 = {} as C2; // Error + ~~~ +!!! error TS2559: Type 'C2' has no properties in common with type 'A2 & B2'. + + enum E { A = "A" } + + let x: { nope?: any } = E.A; // Error + ~ +!!! error TS2559: Type 'E' has no properties in common with type '{ nope?: any; }'. + let y: { nope?: any } = "A"; // Error + ~ +!!! error TS2559: Type '"A"' has no properties in common with type '{ nope?: any; }'. + + // Repros from #51043 + + type OverridesInput = { + someProp?: 'A' | 'B' + } + + const foo1: Partial<{ something: any }> & { variables: { + overrides?: OverridesInput; + } & Partial<{ + overrides?: OverridesInput; + }>} = { variables: { overrides: false } }; // Error + ~~~~~~~~~ +!!! error TS2559: Type 'false' has no properties in common with type 'OverridesInput'. +!!! related TS6500 tests/cases/compiler/nestedExcessPropertyChecking.ts:27:5: The expected type comes from property 'overrides' which is declared here on type '{ overrides?: OverridesInput | undefined; } & Partial<{ overrides?: OverridesInput | undefined; }>' + + + interface Unrelated { _?: any } + + interface VariablesA { overrides?: OverridesInput; } + interface VariablesB { overrides?: OverridesInput; } + + const foo2: Unrelated & { variables: VariablesA & VariablesB } = { + variables: { + overrides: false // Error + ~~~~~~~~~ +!!! error TS2559: Type 'false' has no properties in common with type 'OverridesInput'. +!!! related TS6500 tests/cases/compiler/nestedExcessPropertyChecking.ts:35:24: The expected type comes from property 'overrides' which is declared here on type 'VariablesA & VariablesB' + } + }; + \ No newline at end of file diff --git a/tests/baselines/reference/nestedExcessPropertyChecking.js b/tests/baselines/reference/nestedExcessPropertyChecking.js new file mode 100644 index 0000000000000..0fe6a42c1d292 --- /dev/null +++ b/tests/baselines/reference/nestedExcessPropertyChecking.js @@ -0,0 +1,61 @@ +//// [nestedExcessPropertyChecking.ts] +type A1 = { x: { a?: string } }; +type B1 = { x: { b?: string } }; + +type C1 = { x: { c: string } }; + +const ab1: A1 & B1 = {} as C1; // Error + +type A2 = { a?: string }; +type B2 = { b?: string }; + +type C2 = { c: string }; + +const ab2: A2 & B2 = {} as C2; // Error + +enum E { A = "A" } + +let x: { nope?: any } = E.A; // Error +let y: { nope?: any } = "A"; // Error + +// Repros from #51043 + +type OverridesInput = { + someProp?: 'A' | 'B' +} + +const foo1: Partial<{ something: any }> & { variables: { + overrides?: OverridesInput; +} & Partial<{ + overrides?: OverridesInput; +}>} = { variables: { overrides: false } }; // Error + + +interface Unrelated { _?: any } + +interface VariablesA { overrides?: OverridesInput; } +interface VariablesB { overrides?: OverridesInput; } + +const foo2: Unrelated & { variables: VariablesA & VariablesB } = { + variables: { + overrides: false // Error + } +}; + + +//// [nestedExcessPropertyChecking.js] +"use strict"; +var ab1 = {}; // Error +var ab2 = {}; // Error +var E; +(function (E) { + E["A"] = "A"; +})(E || (E = {})); +var x = E.A; // Error +var y = "A"; // Error +var foo1 = { variables: { overrides: false } }; // Error +var foo2 = { + variables: { + overrides: false // Error + } +}; diff --git a/tests/baselines/reference/nestedExcessPropertyChecking.symbols b/tests/baselines/reference/nestedExcessPropertyChecking.symbols new file mode 100644 index 0000000000000..2a17170e90a2d --- /dev/null +++ b/tests/baselines/reference/nestedExcessPropertyChecking.symbols @@ -0,0 +1,115 @@ +=== tests/cases/compiler/nestedExcessPropertyChecking.ts === +type A1 = { x: { a?: string } }; +>A1 : Symbol(A1, Decl(nestedExcessPropertyChecking.ts, 0, 0)) +>x : Symbol(x, Decl(nestedExcessPropertyChecking.ts, 0, 11)) +>a : Symbol(a, Decl(nestedExcessPropertyChecking.ts, 0, 16)) + +type B1 = { x: { b?: string } }; +>B1 : Symbol(B1, Decl(nestedExcessPropertyChecking.ts, 0, 32)) +>x : Symbol(x, Decl(nestedExcessPropertyChecking.ts, 1, 11)) +>b : Symbol(b, Decl(nestedExcessPropertyChecking.ts, 1, 16)) + +type C1 = { x: { c: string } }; +>C1 : Symbol(C1, Decl(nestedExcessPropertyChecking.ts, 1, 32)) +>x : Symbol(x, Decl(nestedExcessPropertyChecking.ts, 3, 11)) +>c : Symbol(c, Decl(nestedExcessPropertyChecking.ts, 3, 16)) + +const ab1: A1 & B1 = {} as C1; // Error +>ab1 : Symbol(ab1, Decl(nestedExcessPropertyChecking.ts, 5, 5)) +>A1 : Symbol(A1, Decl(nestedExcessPropertyChecking.ts, 0, 0)) +>B1 : Symbol(B1, Decl(nestedExcessPropertyChecking.ts, 0, 32)) +>C1 : Symbol(C1, Decl(nestedExcessPropertyChecking.ts, 1, 32)) + +type A2 = { a?: string }; +>A2 : Symbol(A2, Decl(nestedExcessPropertyChecking.ts, 5, 30)) +>a : Symbol(a, Decl(nestedExcessPropertyChecking.ts, 7, 11)) + +type B2 = { b?: string }; +>B2 : Symbol(B2, Decl(nestedExcessPropertyChecking.ts, 7, 25)) +>b : Symbol(b, Decl(nestedExcessPropertyChecking.ts, 8, 11)) + +type C2 = { c: string }; +>C2 : Symbol(C2, Decl(nestedExcessPropertyChecking.ts, 8, 25)) +>c : Symbol(c, Decl(nestedExcessPropertyChecking.ts, 10, 11)) + +const ab2: A2 & B2 = {} as C2; // Error +>ab2 : Symbol(ab2, Decl(nestedExcessPropertyChecking.ts, 12, 5)) +>A2 : Symbol(A2, Decl(nestedExcessPropertyChecking.ts, 5, 30)) +>B2 : Symbol(B2, Decl(nestedExcessPropertyChecking.ts, 7, 25)) +>C2 : Symbol(C2, Decl(nestedExcessPropertyChecking.ts, 8, 25)) + +enum E { A = "A" } +>E : Symbol(E, Decl(nestedExcessPropertyChecking.ts, 12, 30)) +>A : Symbol(E.A, Decl(nestedExcessPropertyChecking.ts, 14, 8)) + +let x: { nope?: any } = E.A; // Error +>x : Symbol(x, Decl(nestedExcessPropertyChecking.ts, 16, 3)) +>nope : Symbol(nope, Decl(nestedExcessPropertyChecking.ts, 16, 8)) +>E.A : Symbol(E.A, Decl(nestedExcessPropertyChecking.ts, 14, 8)) +>E : Symbol(E, Decl(nestedExcessPropertyChecking.ts, 12, 30)) +>A : Symbol(E.A, Decl(nestedExcessPropertyChecking.ts, 14, 8)) + +let y: { nope?: any } = "A"; // Error +>y : Symbol(y, Decl(nestedExcessPropertyChecking.ts, 17, 3)) +>nope : Symbol(nope, Decl(nestedExcessPropertyChecking.ts, 17, 8)) + +// Repros from #51043 + +type OverridesInput = { +>OverridesInput : Symbol(OverridesInput, Decl(nestedExcessPropertyChecking.ts, 17, 28)) + + someProp?: 'A' | 'B' +>someProp : Symbol(someProp, Decl(nestedExcessPropertyChecking.ts, 21, 23)) +} + +const foo1: Partial<{ something: any }> & { variables: { +>foo1 : Symbol(foo1, Decl(nestedExcessPropertyChecking.ts, 25, 5)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>something : Symbol(something, Decl(nestedExcessPropertyChecking.ts, 25, 21)) +>variables : Symbol(variables, Decl(nestedExcessPropertyChecking.ts, 25, 43)) + + overrides?: OverridesInput; +>overrides : Symbol(overrides, Decl(nestedExcessPropertyChecking.ts, 25, 56)) +>OverridesInput : Symbol(OverridesInput, Decl(nestedExcessPropertyChecking.ts, 17, 28)) + +} & Partial<{ +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) + + overrides?: OverridesInput; +>overrides : Symbol(overrides, Decl(nestedExcessPropertyChecking.ts, 27, 13)) +>OverridesInput : Symbol(OverridesInput, Decl(nestedExcessPropertyChecking.ts, 17, 28)) + +}>} = { variables: { overrides: false } }; // Error +>variables : Symbol(variables, Decl(nestedExcessPropertyChecking.ts, 29, 7)) +>overrides : Symbol(overrides, Decl(nestedExcessPropertyChecking.ts, 29, 20)) + + +interface Unrelated { _?: any } +>Unrelated : Symbol(Unrelated, Decl(nestedExcessPropertyChecking.ts, 29, 42)) +>_ : Symbol(Unrelated._, Decl(nestedExcessPropertyChecking.ts, 32, 21)) + +interface VariablesA { overrides?: OverridesInput; } +>VariablesA : Symbol(VariablesA, Decl(nestedExcessPropertyChecking.ts, 32, 31)) +>overrides : Symbol(VariablesA.overrides, Decl(nestedExcessPropertyChecking.ts, 34, 22)) +>OverridesInput : Symbol(OverridesInput, Decl(nestedExcessPropertyChecking.ts, 17, 28)) + +interface VariablesB { overrides?: OverridesInput; } +>VariablesB : Symbol(VariablesB, Decl(nestedExcessPropertyChecking.ts, 34, 52)) +>overrides : Symbol(VariablesB.overrides, Decl(nestedExcessPropertyChecking.ts, 35, 22)) +>OverridesInput : Symbol(OverridesInput, Decl(nestedExcessPropertyChecking.ts, 17, 28)) + +const foo2: Unrelated & { variables: VariablesA & VariablesB } = { +>foo2 : Symbol(foo2, Decl(nestedExcessPropertyChecking.ts, 37, 5)) +>Unrelated : Symbol(Unrelated, Decl(nestedExcessPropertyChecking.ts, 29, 42)) +>variables : Symbol(variables, Decl(nestedExcessPropertyChecking.ts, 37, 25)) +>VariablesA : Symbol(VariablesA, Decl(nestedExcessPropertyChecking.ts, 32, 31)) +>VariablesB : Symbol(VariablesB, Decl(nestedExcessPropertyChecking.ts, 34, 52)) + + variables: { +>variables : Symbol(variables, Decl(nestedExcessPropertyChecking.ts, 37, 66)) + + overrides: false // Error +>overrides : Symbol(overrides, Decl(nestedExcessPropertyChecking.ts, 38, 16)) + } +}; + diff --git a/tests/baselines/reference/nestedExcessPropertyChecking.types b/tests/baselines/reference/nestedExcessPropertyChecking.types new file mode 100644 index 0000000000000..473b1f5295525 --- /dev/null +++ b/tests/baselines/reference/nestedExcessPropertyChecking.types @@ -0,0 +1,108 @@ +=== tests/cases/compiler/nestedExcessPropertyChecking.ts === +type A1 = { x: { a?: string } }; +>A1 : { x: { a?: string;}; } +>x : { a?: string | undefined; } +>a : string | undefined + +type B1 = { x: { b?: string } }; +>B1 : { x: { b?: string;}; } +>x : { b?: string | undefined; } +>b : string | undefined + +type C1 = { x: { c: string } }; +>C1 : { x: { c: string;}; } +>x : { c: string; } +>c : string + +const ab1: A1 & B1 = {} as C1; // Error +>ab1 : A1 & B1 +>{} as C1 : C1 +>{} : {} + +type A2 = { a?: string }; +>A2 : { a?: string | undefined; } +>a : string | undefined + +type B2 = { b?: string }; +>B2 : { b?: string | undefined; } +>b : string | undefined + +type C2 = { c: string }; +>C2 : { c: string; } +>c : string + +const ab2: A2 & B2 = {} as C2; // Error +>ab2 : A2 & B2 +>{} as C2 : C2 +>{} : {} + +enum E { A = "A" } +>E : E +>A : E.A +>"A" : "A" + +let x: { nope?: any } = E.A; // Error +>x : { nope?: any; } +>nope : any +>E.A : E +>E : typeof E +>A : E + +let y: { nope?: any } = "A"; // Error +>y : { nope?: any; } +>nope : any +>"A" : "A" + +// Repros from #51043 + +type OverridesInput = { +>OverridesInput : { someProp?: "A" | "B" | undefined; } + + someProp?: 'A' | 'B' +>someProp : "A" | "B" | undefined +} + +const foo1: Partial<{ something: any }> & { variables: { +>foo1 : Partial<{ something: any; }> & { variables: { overrides?: OverridesInput;} & Partial<{ overrides?: OverridesInput;}>; } +>something : any +>variables : { overrides?: OverridesInput | undefined; } & Partial<{ overrides?: OverridesInput | undefined; }> + + overrides?: OverridesInput; +>overrides : OverridesInput | undefined + +} & Partial<{ + overrides?: OverridesInput; +>overrides : OverridesInput | undefined + +}>} = { variables: { overrides: false } }; // Error +>{ variables: { overrides: false } } : { variables: { overrides: boolean; }; } +>variables : { overrides: boolean; } +>{ overrides: false } : { overrides: boolean; } +>overrides : boolean +>false : false + + +interface Unrelated { _?: any } +>_ : any + +interface VariablesA { overrides?: OverridesInput; } +>overrides : OverridesInput | undefined + +interface VariablesB { overrides?: OverridesInput; } +>overrides : OverridesInput | undefined + +const foo2: Unrelated & { variables: VariablesA & VariablesB } = { +>foo2 : Unrelated & { variables: VariablesA & VariablesB; } +>variables : VariablesA & VariablesB +>{ variables: { overrides: false // Error }} : { variables: { overrides: boolean; }; } + + variables: { +>variables : { overrides: boolean; } +>{ overrides: false // Error } : { overrides: boolean; } + + overrides: false // Error +>overrides : boolean +>false : false + } +}; + diff --git a/tests/baselines/reference/nestedIfStatement.symbols b/tests/baselines/reference/nestedIfStatement.symbols index 4dddcd75925a4..43d26dec38895 100644 --- a/tests/baselines/reference/nestedIfStatement.symbols +++ b/tests/baselines/reference/nestedIfStatement.symbols @@ -1,8 +1,8 @@ === tests/cases/compiler/nestedIfStatement.ts === + if (0) { -No type information for this code.} else if (1) { -No type information for this code.} else if (2) { -No type information for this code.} else if (3) { -No type information for this code.} else { -No type information for this code.} -No type information for this code. \ No newline at end of file +} else if (1) { +} else if (2) { +} else if (3) { +} else { +} diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=false).js b/tests/baselines/reference/neverAsDiscriminantType(strict=false).js index de1a5790cceef..adfa34faec1db 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=false).js +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=false).js @@ -82,7 +82,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/neverAsDiscriminantType(strict=true).js b/tests/baselines/reference/neverAsDiscriminantType(strict=true).js index de1a5790cceef..adfa34faec1db 100644 --- a/tests/baselines/reference/neverAsDiscriminantType(strict=true).js +++ b/tests/baselines/reference/neverAsDiscriminantType(strict=true).js @@ -82,7 +82,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/newAbstractInstance2.symbols b/tests/baselines/reference/newAbstractInstance2.symbols index 2ce91130095f7..41e4658626e87 100644 --- a/tests/baselines/reference/newAbstractInstance2.symbols +++ b/tests/baselines/reference/newAbstractInstance2.symbols @@ -1,7 +1,8 @@ === /a.ts === + export default abstract class {} -No type information for this code. -No type information for this code.=== /b.ts === + +=== /b.ts === import A from "./a"; >A : Symbol(A, Decl(b.ts, 0, 6)) diff --git a/tests/baselines/reference/newAbstractInstance2.types b/tests/baselines/reference/newAbstractInstance2.types index 8e980d9030063..6028213b591b9 100644 --- a/tests/baselines/reference/newAbstractInstance2.types +++ b/tests/baselines/reference/newAbstractInstance2.types @@ -1,7 +1,8 @@ === /a.ts === + export default abstract class {} -No type information for this code. -No type information for this code.=== /b.ts === + +=== /b.ts === import A from "./a"; >A : typeof A diff --git a/tests/baselines/reference/noCatchBlock.symbols b/tests/baselines/reference/noCatchBlock.symbols index 655d90f047be5..80e58e9b8306c 100644 --- a/tests/baselines/reference/noCatchBlock.symbols +++ b/tests/baselines/reference/noCatchBlock.symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/noCatchBlock.ts === + try { -No type information for this code. // ... -No type information for this code.} finally { -No type information for this code. // N.B. No 'catch' block -No type information for this code.} -No type information for this code. \ No newline at end of file + // ... +} finally { + // N.B. No 'catch' block +} diff --git a/tests/baselines/reference/noCatchBlock.types b/tests/baselines/reference/noCatchBlock.types index 655d90f047be5..80e58e9b8306c 100644 --- a/tests/baselines/reference/noCatchBlock.types +++ b/tests/baselines/reference/noCatchBlock.types @@ -1,7 +1,7 @@ === tests/cases/compiler/noCatchBlock.ts === + try { -No type information for this code. // ... -No type information for this code.} finally { -No type information for this code. // N.B. No 'catch' block -No type information for this code.} -No type information for this code. \ No newline at end of file + // ... +} finally { + // N.B. No 'catch' block +} diff --git a/tests/baselines/reference/noCrashOnImportShadowing.errors.txt b/tests/baselines/reference/noCrashOnImportShadowing.errors.txt index ddd49c0c2c719..59fee7c6950d7 100644 --- a/tests/baselines/reference/noCrashOnImportShadowing.errors.txt +++ b/tests/baselines/reference/noCrashOnImportShadowing.errors.txt @@ -1,4 +1,3 @@ -tests/cases/compiler/index.ts(4,1): error TS2693: 'B' only refers to a type, but is being used as a value here. tests/cases/compiler/index.ts(9,10): error TS2709: Cannot use namespace 'OriginalB' as a type. @@ -17,13 +16,11 @@ tests/cases/compiler/index.ts(9,10): error TS2709: Cannot use namespace 'Origina export { B }; -==== tests/cases/compiler/index.ts (2 errors) ==== +==== tests/cases/compiler/index.ts (1 errors) ==== import { B } from "./a"; const x: B = { x: "" }; B.zzz; - ~ -!!! error TS2693: 'B' only refers to a type, but is being used as a value here. import * as OriginalB from "./b"; OriginalB.zzz; diff --git a/tests/baselines/reference/noCrashOnImportShadowing.js b/tests/baselines/reference/noCrashOnImportShadowing.js index 9c8ff2f8452f3..fe540d8585454 100644 --- a/tests/baselines/reference/noCrashOnImportShadowing.js +++ b/tests/baselines/reference/noCrashOnImportShadowing.js @@ -34,12 +34,15 @@ exports.zzz = 123; //// [a.js] "use strict"; exports.__esModule = true; +exports.B = void 0; var B = require("./b"); +exports.B = B; var x = { x: "" }; B.zzz; //// [index.js] "use strict"; exports.__esModule = true; +var a_1 = require("./a"); var x = { x: "" }; a_1.B.zzz; var OriginalB = require("./b"); diff --git a/tests/baselines/reference/noCrashOnImportShadowing.symbols b/tests/baselines/reference/noCrashOnImportShadowing.symbols index da5f5146ec27f..a9093debbb0f4 100644 --- a/tests/baselines/reference/noCrashOnImportShadowing.symbols +++ b/tests/baselines/reference/noCrashOnImportShadowing.symbols @@ -36,6 +36,9 @@ const x: B = { x: "" }; >x : Symbol(x, Decl(index.ts, 2, 14)) B.zzz; +>B.zzz : Symbol(OriginalB.zzz, Decl(b.ts, 0, 12)) +>B : Symbol(B, Decl(index.ts, 0, 8)) +>zzz : Symbol(OriginalB.zzz, Decl(b.ts, 0, 12)) import * as OriginalB from "./b"; >OriginalB : Symbol(OriginalB, Decl(index.ts, 5, 6)) diff --git a/tests/baselines/reference/noCrashOnImportShadowing.types b/tests/baselines/reference/noCrashOnImportShadowing.types index a4c75125716ec..3d4d58b20a126 100644 --- a/tests/baselines/reference/noCrashOnImportShadowing.types +++ b/tests/baselines/reference/noCrashOnImportShadowing.types @@ -24,11 +24,11 @@ B.zzz; >zzz : 123 export { B }; ->B : any +>B : typeof B === tests/cases/compiler/index.ts === import { B } from "./a"; ->B : any +>B : typeof OriginalB const x: B = { x: "" }; >x : B @@ -37,9 +37,9 @@ const x: B = { x: "" }; >"" : "" B.zzz; ->B.zzz : any ->B : any ->zzz : any +>B.zzz : 123 +>B : typeof OriginalB +>zzz : 123 import * as OriginalB from "./b"; >OriginalB : typeof OriginalB diff --git a/tests/baselines/reference/noSymbolForMergeCrash.types b/tests/baselines/reference/noSymbolForMergeCrash.types index 79992f12bdc22..695ef44af7c1d 100644 --- a/tests/baselines/reference/noSymbolForMergeCrash.types +++ b/tests/baselines/reference/noSymbolForMergeCrash.types @@ -1,8 +1,9 @@ === tests/cases/compiler/initial.ts === + interface A { } -No type information for this code.namespace A {} -No type information for this code. -No type information for this code.=== tests/cases/compiler/final.ts === +namespace A {} + +=== tests/cases/compiler/final.ts === type A = {} >A : {} diff --git a/tests/baselines/reference/nodeModuleReexportFromDottedPath.symbols b/tests/baselines/reference/nodeModuleReexportFromDottedPath.symbols index e3065d2e0a075..26f8afead67d8 100644 --- a/tests/baselines/reference/nodeModuleReexportFromDottedPath.symbols +++ b/tests/baselines/reference/nodeModuleReexportFromDottedPath.symbols @@ -17,9 +17,10 @@ export class PrismaClient { } === /node_modules/@prisma/client/index.d.ts === + export * from ".prisma/client"; -No type information for this code. -No type information for this code.=== /index.ts === + +=== /index.ts === import { PrismaClient } from "@prisma/client"; >PrismaClient : Symbol(PrismaClient, Decl(index.ts, 0, 8)) diff --git a/tests/baselines/reference/nodeModuleReexportFromDottedPath.types b/tests/baselines/reference/nodeModuleReexportFromDottedPath.types index e1ea467f85719..64dd59632cd22 100644 --- a/tests/baselines/reference/nodeModuleReexportFromDottedPath.types +++ b/tests/baselines/reference/nodeModuleReexportFromDottedPath.types @@ -12,9 +12,10 @@ export class PrismaClient { } === /node_modules/@prisma/client/index.d.ts === + export * from ".prisma/client"; -No type information for this code. -No type information for this code.=== /index.ts === + +=== /index.ts === import { PrismaClient } from "@prisma/client"; >PrismaClient : typeof PrismaClient diff --git a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).symbols b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).symbols index e4e9a53aa590d..0c9dd75acdc6b 100644 --- a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).symbols +++ b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).symbols @@ -1,5 +1,6 @@ === tests/cases/conformance/node/allowJs/foo.cjs === + // this file is a module despite having no imports -No type information for this code.=== tests/cases/conformance/node/allowJs/bar.js === +=== tests/cases/conformance/node/allowJs/bar.js === + // however this file is _not_ a module -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).types b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).types index e4e9a53aa590d..0c9dd75acdc6b 100644 --- a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).types +++ b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=node16).types @@ -1,5 +1,6 @@ === tests/cases/conformance/node/allowJs/foo.cjs === + // this file is a module despite having no imports -No type information for this code.=== tests/cases/conformance/node/allowJs/bar.js === +=== tests/cases/conformance/node/allowJs/bar.js === + // however this file is _not_ a module -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).symbols b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).symbols index e4e9a53aa590d..0c9dd75acdc6b 100644 --- a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).symbols +++ b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).symbols @@ -1,5 +1,6 @@ === tests/cases/conformance/node/allowJs/foo.cjs === + // this file is a module despite having no imports -No type information for this code.=== tests/cases/conformance/node/allowJs/bar.js === +=== tests/cases/conformance/node/allowJs/bar.js === + // however this file is _not_ a module -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).types b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).types index e4e9a53aa590d..0c9dd75acdc6b 100644 --- a/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesAllowJsExportlessJsModuleDetectionAuto(module=nodenext).types @@ -1,5 +1,6 @@ === tests/cases/conformance/node/allowJs/foo.cjs === + // this file is a module despite having no imports -No type information for this code.=== tests/cases/conformance/node/allowJs/bar.js === +=== tests/cases/conformance/node/allowJs/bar.js === + // however this file is _not_ a module -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.symbols b/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.symbols index 67841b1be5adf..55bccd08f50c3 100644 --- a/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.symbols +++ b/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.symbols @@ -1,13 +1,16 @@ === tests/cases/conformance/node/index.ts === + // esm format file -No type information for this code.export {}; -No type information for this code.=== tests/cases/conformance/node/index.mts === +export {}; +=== tests/cases/conformance/node/index.mts === + // esm format file -No type information for this code.export {}; -No type information for this code.=== tests/cases/conformance/node/index.cts === +export {}; +=== tests/cases/conformance/node/index.cts === + // cjs format file -No type information for this code.export {}; -No type information for this code.=== tests/cases/conformance/node/other.ts === +export {}; +=== tests/cases/conformance/node/other.ts === // esm format file export const a = await import("package/cjs"); >a : Symbol(a, Decl(other.ts, 1, 12)) diff --git a/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.types b/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.types index 38a4e474dc632..6d4cec3eba9b7 100644 --- a/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.types +++ b/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.types @@ -1,13 +1,16 @@ === tests/cases/conformance/node/index.ts === + // esm format file -No type information for this code.export {}; -No type information for this code.=== tests/cases/conformance/node/index.mts === +export {}; +=== tests/cases/conformance/node/index.mts === + // esm format file -No type information for this code.export {}; -No type information for this code.=== tests/cases/conformance/node/index.cts === +export {}; +=== tests/cases/conformance/node/index.cts === + // cjs format file -No type information for this code.export {}; -No type information for this code.=== tests/cases/conformance/node/other.ts === +export {}; +=== tests/cases/conformance/node/other.ts === // esm format file export const a = await import("package/cjs"); >a : { default: typeof import("tests/cases/conformance/node/index"); } diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).symbols b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).symbols index 2db356fe2494c..5b1616bfe37dc 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).symbols +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).symbols @@ -1,23 +1,26 @@ === /node_modules/exports-and-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/just-types-versions/types/foo.d.ts === + +=== /node_modules/just-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /main.cts === + +=== /main.cts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code.=== /main.mts === +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + +=== /main.mts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code. \ No newline at end of file +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).trace.json b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).trace.json index 64a53eefcc0c7..c6764326f5e55 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).trace.json +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).trace.json @@ -7,9 +7,11 @@ "'package.json' has a 'typesVersions' field with version-specific path mappings.", "======== Resolving module 'exports-and-types-versions/foo' from '/main.cts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.ts' does not exist.", "File '/node_modules/exports-and-types-versions/dist/foo.tsx' does not exist.", @@ -19,12 +21,14 @@ "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/dist/foo.js', result '/node_modules/exports-and-types-versions/dist/foo.js'.", "======== Module name 'exports-and-types-versions/foo' was successfully resolved to '/node_modules/exports-and-types-versions/dist/foo.js' with Package ID 'exports-and-types-versions/dist/foo.js@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/nope' from '/main.cts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", @@ -37,34 +41,44 @@ "======== Module name 'exports-and-types-versions/nope' was not resolved. ========", "======== Resolving module 'exports-and-types-versions/yep' from '/main.cts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types'.", + "Using 'exports' subpath './yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-yep' from '/main.cts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types@>=4'.", + "Using 'exports' subpath './versioned-yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/versioned-yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-nah' from '/main.cts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "======== Module name 'exports-and-types-versions/versioned-nah' was not resolved. ========", "======== Resolving module 'just-types-versions/foo' from '/main.cts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'just-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/just-types-versions/package.json' exists according to earlier cached lookups.", @@ -76,9 +90,11 @@ "======== Module name 'just-types-versions/foo' was successfully resolved to '/node_modules/just-types-versions/types/foo.d.ts'. ========", "======== Resolving module 'exports-and-types-versions/foo' from '/main.mts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.ts' does not exist.", "File '/node_modules/exports-and-types-versions/dist/foo.tsx' does not exist.", @@ -88,12 +104,14 @@ "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/dist/foo.js', result '/node_modules/exports-and-types-versions/dist/foo.js'.", "======== Module name 'exports-and-types-versions/foo' was successfully resolved to '/node_modules/exports-and-types-versions/dist/foo.js' with Package ID 'exports-and-types-versions/dist/foo.js@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/nope' from '/main.mts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", @@ -106,34 +124,44 @@ "======== Module name 'exports-and-types-versions/nope' was not resolved. ========", "======== Resolving module 'exports-and-types-versions/yep' from '/main.mts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types'.", + "Using 'exports' subpath './yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-yep' from '/main.mts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types@>=4'.", + "Using 'exports' subpath './versioned-yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/versioned-yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-nah' from '/main.mts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "======== Module name 'exports-and-types-versions/versioned-nah' was not resolved. ========", "======== Resolving module 'just-types-versions/foo' from '/main.mts'. ========", "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'just-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/just-types-versions/package.json' exists according to earlier cached lookups.", diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).types b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).types index 2db356fe2494c..5b1616bfe37dc 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).types +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=node16).types @@ -1,23 +1,26 @@ === /node_modules/exports-and-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/just-types-versions/types/foo.d.ts === + +=== /node_modules/just-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /main.cts === + +=== /main.cts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code.=== /main.mts === +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + +=== /main.mts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code. \ No newline at end of file +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).symbols b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).symbols index 2db356fe2494c..5b1616bfe37dc 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).symbols +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).symbols @@ -1,23 +1,26 @@ === /node_modules/exports-and-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/just-types-versions/types/foo.d.ts === + +=== /node_modules/just-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /main.cts === + +=== /main.cts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code.=== /main.mts === +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + +=== /main.mts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code. \ No newline at end of file +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json index 0469b9d6ee7c7..a7c19c8a9ae12 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json @@ -7,9 +7,11 @@ "'package.json' has a 'typesVersions' field with version-specific path mappings.", "======== Resolving module 'exports-and-types-versions/foo' from '/main.cts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.ts' does not exist.", "File '/node_modules/exports-and-types-versions/dist/foo.tsx' does not exist.", @@ -19,12 +21,14 @@ "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/dist/foo.js', result '/node_modules/exports-and-types-versions/dist/foo.js'.", "======== Module name 'exports-and-types-versions/foo' was successfully resolved to '/node_modules/exports-and-types-versions/dist/foo.js' with Package ID 'exports-and-types-versions/dist/foo.js@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/nope' from '/main.cts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", @@ -37,34 +41,44 @@ "======== Module name 'exports-and-types-versions/nope' was not resolved. ========", "======== Resolving module 'exports-and-types-versions/yep' from '/main.cts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types'.", + "Using 'exports' subpath './yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-yep' from '/main.cts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types@>=4'.", + "Using 'exports' subpath './versioned-yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/versioned-yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-nah' from '/main.cts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "======== Module name 'exports-and-types-versions/versioned-nah' was not resolved. ========", "======== Resolving module 'just-types-versions/foo' from '/main.cts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'just-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/just-types-versions/package.json' exists according to earlier cached lookups.", @@ -76,9 +90,11 @@ "======== Module name 'just-types-versions/foo' was successfully resolved to '/node_modules/just-types-versions/types/foo.d.ts'. ========", "======== Resolving module 'exports-and-types-versions/foo' from '/main.mts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.ts' does not exist.", "File '/node_modules/exports-and-types-versions/dist/foo.tsx' does not exist.", @@ -88,12 +104,14 @@ "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/foo' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './foo' with target './dist/foo.js'.", "File name '/node_modules/exports-and-types-versions/dist/foo.js' has a '.js' extension - stripping it.", "File '/node_modules/exports-and-types-versions/dist/foo.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/dist/foo.js', result '/node_modules/exports-and-types-versions/dist/foo.js'.", "======== Module name 'exports-and-types-versions/foo' was successfully resolved to '/node_modules/exports-and-types-versions/dist/foo.js' with Package ID 'exports-and-types-versions/dist/foo.js@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/nope' from '/main.mts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/nope' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", @@ -106,34 +124,44 @@ "======== Module name 'exports-and-types-versions/nope' was not resolved. ========", "======== Resolving module 'exports-and-types-versions/yep' from '/main.mts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types'.", + "Using 'exports' subpath './yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-yep' from '/main.mts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-yep' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Matched 'exports' condition 'types@>=4'.", + "Using 'exports' subpath './versioned-yep' with target './types/foo.d.ts'.", "File '/node_modules/exports-and-types-versions/types/foo.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/exports-and-types-versions/types/foo.d.ts', result '/node_modules/exports-and-types-versions/types/foo.d.ts'.", "======== Module name 'exports-and-types-versions/versioned-yep' was successfully resolved to '/node_modules/exports-and-types-versions/types/foo.d.ts' with Package ID 'exports-and-types-versions/types/foo.d.ts@1.0.0'. ========", "======== Resolving module 'exports-and-types-versions/versioned-nah' from '/main.mts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'exports-and-types-versions/versioned-nah' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/exports-and-types-versions/package.json' exists according to earlier cached lookups.", + "Saw non-matching condition 'types@<4'.", "Export specifier './versioned-nah' does not exist in package.json scope at path '/node_modules/exports-and-types-versions'.", "======== Module name 'exports-and-types-versions/versioned-nah' was not resolved. ========", "======== Resolving module 'just-types-versions/foo' from '/main.mts'. ========", "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'just-types-versions/foo' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/just-types-versions/package.json' exists according to earlier cached lookups.", diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).types b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).types index 2db356fe2494c..5b1616bfe37dc 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).types @@ -1,23 +1,26 @@ === /node_modules/exports-and-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/just-types-versions/types/foo.d.ts === + +=== /node_modules/just-types-versions/types/foo.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /main.cts === + +=== /main.cts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code.=== /main.mts === +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + +=== /main.mts === + import {} from "exports-and-types-versions/foo"; -No type information for this code.import {} from "exports-and-types-versions/nope"; -No type information for this code.import {} from "exports-and-types-versions/yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-yep"; -No type information for this code.import {} from "exports-and-types-versions/versioned-nah"; -No type information for this code.import {} from "just-types-versions/foo"; -No type information for this code. -No type information for this code. \ No newline at end of file +import {} from "exports-and-types-versions/nope"; +import {} from "exports-and-types-versions/yep"; +import {} from "exports-and-types-versions/versioned-yep"; +import {} from "exports-and-types-versions/versioned-nah"; +import {} from "just-types-versions/foo"; + diff --git a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=node16).types b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=node16).types index 61190a772be06..339dac211dd5b 100644 --- a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=node16).types +++ b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=node16).types @@ -24,7 +24,8 @@ export type { ImportInterface } from "pkg" assert { "resolution-mode": "import" >ImportInterface : ImportInterface === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=nodenext).types index 61190a772be06..339dac211dd5b 100644 --- a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit1(module=nodenext).types @@ -24,7 +24,8 @@ export type { ImportInterface } from "pkg" assert { "resolution-mode": "import" >ImportInterface : ImportInterface === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=node16).types b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=node16).types index 61190a772be06..339dac211dd5b 100644 --- a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=node16).types +++ b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=node16).types @@ -24,7 +24,8 @@ export type { ImportInterface } from "pkg" assert { "resolution-mode": "import" >ImportInterface : ImportInterface === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=nodenext).types b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=nodenext).types index 61190a772be06..339dac211dd5b 100644 --- a/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesImportModeDeclarationEmit2(module=nodenext).types @@ -24,7 +24,8 @@ export type { ImportInterface } from "pkg" assert { "resolution-mode": "import" >ImportInterface : ImportInterface === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=node16).types b/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=node16).types index 07bda5323dbc8..cbcf89cbd6417 100644 --- a/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=node16).types +++ b/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=node16).types @@ -20,5 +20,5 @@ export interface LocalInterface extends RequireInterface, ImportInterface {} === /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=nodenext).types index 07bda5323dbc8..cbcf89cbd6417 100644 --- a/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesImportModeDeclarationEmitErrors1(module=nodenext).types @@ -20,5 +20,5 @@ export interface LocalInterface extends RequireInterface, ImportInterface {} === /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node16).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node16).types index 520761d1b0a01..2e206b7fee9bc 100644 --- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node16).types +++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=node16).types @@ -20,7 +20,8 @@ export const b = (null as any as import("pkg", { assert: {"resolution-mode": "im >null : null === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types index 520761d1b0a01..2e206b7fee9bc 100644 --- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmit1(module=nodenext).types @@ -20,7 +20,8 @@ export const b = (null as any as import("pkg", { assert: {"resolution-mode": "im >null : null === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types index 1b75c0fff241a..f0ddc765fb992 100644 --- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types +++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=node16).types @@ -1,8 +1,10 @@ === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code.=== /index.ts === +=== /index.ts === export type LocalInterface = >LocalInterface : import("/node_modules/pkg/require").RequireInterface & import("/node_modules/pkg/import").ImportInterface diff --git a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types index 1b75c0fff241a..f0ddc765fb992 100644 --- a/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesImportTypeModeDeclarationEmitErrors1(module=nodenext).types @@ -1,8 +1,10 @@ === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code.=== /index.ts === +=== /index.ts === export type LocalInterface = >LocalInterface : import("/node_modules/pkg/require").RequireInterface & import("/node_modules/pkg/import").ImportInterface diff --git a/tests/baselines/reference/nodeModulesPackageImports(module=node16).trace.json b/tests/baselines/reference/nodeModulesPackageImports(module=node16).trace.json new file mode 100644 index 0000000000000..bf3afd3d6ad9f --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImports(module=node16).trace.json @@ -0,0 +1,199 @@ +[ + "Found 'package.json' at 'tests/cases/conformance/node/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.cts', result 'tests/cases/conformance/node/index.cts'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.mts', result 'tests/cases/conformance/node/index.mts'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#type' with target './index.js'.", + "File name 'tests/cases/conformance/node/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/index.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.ts', result 'tests/cases/conformance/node/index.ts'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.cts', result 'tests/cases/conformance/node/index.cts'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.mts', result 'tests/cases/conformance/node/index.mts'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#type' with target './index.js'.", + "File name 'tests/cases/conformance/node/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/index.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.ts', result 'tests/cases/conformance/node/index.ts'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#type' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#type' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Resolution for module '#cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Resolution for module '#mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.cts'. ========", + "Resolution for module '#type' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "File 'package.json' does not exist.", + "File '/package.json' does not exist.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json new file mode 100644 index 0000000000000..538157242b7a9 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json @@ -0,0 +1,203 @@ +[ + "Found 'package.json' at 'tests/cases/conformance/node/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.cts', result 'tests/cases/conformance/node/index.cts'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.mts', result 'tests/cases/conformance/node/index.mts'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#type' with target './index.js'.", + "File name 'tests/cases/conformance/node/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/index.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.ts', result 'tests/cases/conformance/node/index.ts'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.cts', result 'tests/cases/conformance/node/index.cts'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/index.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.mts', result 'tests/cases/conformance/node/index.mts'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Using 'imports' subpath '#type' with target './index.js'.", + "File name 'tests/cases/conformance/node/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/index.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/index.ts', result 'tests/cases/conformance/node/index.ts'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#type' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module '#type' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "======== Resolving module '#cjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Resolution for module '#cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#cjs' was successfully resolved to 'tests/cases/conformance/node/index.cts'. ========", + "======== Resolving module '#mjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Resolution for module '#mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#mjs' was successfully resolved to 'tests/cases/conformance/node/index.mts'. ========", + "======== Resolving module '#type' from 'tests/cases/conformance/node/index.cts'. ========", + "Resolution for module '#type' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name '#type' was successfully resolved to 'tests/cases/conformance/node/index.ts'. ========", + "File 'package.json' does not exist.", + "File '/package.json' does not exist.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=node16).trace.json b/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=node16).trace.json new file mode 100644 index 0000000000000..6b1d472400a9e --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=node16).trace.json @@ -0,0 +1,301 @@ +[ + "Found 'package.json' at 'tests/cases/conformance/node/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/cjs/index.cjs' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/node/node_modules/inner/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/mjs/index.mjs' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/js/index.js' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/cjs/index.cjs' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/mjs/index.mjs' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'Node16'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/js/index.js' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "File 'package.json' does not exist.", + "File '/package.json' does not exist.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json new file mode 100644 index 0000000000000..cb0668334dbb7 --- /dev/null +++ b/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json @@ -0,0 +1,305 @@ +[ + "Found 'package.json' at 'tests/cases/conformance/node/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/cjs/index.cjs' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/node/node_modules/inner/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/mjs/index.mjs' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/index.ts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/js/index.js' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in ESM mode with conditions 'node', 'import', 'types'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/index.mts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/cjs/index.cjs' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './cjs/*.cjs' with target './index.cjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.cjs' has a '.cjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.cts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.cts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.cts', result 'tests/cases/conformance/node/node_modules/inner/index.d.cts'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/mjs/index.mjs' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './mjs/*.mjs' with target './index.mjs'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.mjs' has a '.mjs' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.mts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.mts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.mts', result 'tests/cases/conformance/node/node_modules/inner/index.d.mts'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/index.cts'. ========", + "Module resolution kind is not specified, using 'NodeNext'.", + "Resolving in CJS mode with conditions 'node', 'require', 'types'.", + "File 'tests/cases/conformance/node/package.json' exists according to earlier cached lookups.", + "Loading module 'inner/js/index.js' from 'node_modules' folder, target file type 'TypeScript'.", + "File 'tests/cases/conformance/node/node_modules/inner/package.json' exists according to earlier cached lookups.", + "Using 'exports' subpath './js/*.js' with target './index.js'.", + "File name 'tests/cases/conformance/node/node_modules/inner/index.js' has a '.js' extension - stripping it.", + "File 'tests/cases/conformance/node/node_modules/inner/index.ts' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.tsx' does not exist.", + "File 'tests/cases/conformance/node/node_modules/inner/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for 'tests/cases/conformance/node/node_modules/inner/index.d.ts', result 'tests/cases/conformance/node/node_modules/inner/index.d.ts'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "======== Resolving module 'inner/cjs/index.cjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Resolution for module 'inner/cjs/index.cjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/cjs/index.cjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "======== Resolving module 'inner/mjs/index.mjs' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Resolution for module 'inner/mjs/index.mjs' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/mjs/index.mjs' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.mts'. ========", + "======== Resolving module 'inner/js/index.js' from 'tests/cases/conformance/node/node_modules/inner/index.d.cts'. ========", + "Resolution for module 'inner/js/index.js' was found in cache from location 'tests/cases/conformance/node/node_modules/inner'.", + "======== Module name 'inner/js/index.js' was successfully resolved to 'tests/cases/conformance/node/node_modules/inner/index.d.ts'. ========", + "File 'package.json' does not exist.", + "File '/package.json' does not exist.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File 'package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups." +] \ No newline at end of file diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=node16).types index 5309ca6f8bc1b..dd0308e5302d2 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=node16).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends RequireInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +export interface LocalInterface extends RequireInterface {} +=== /node_modules/pkg/require.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=nodenext).types index 5309ca6f8bc1b..dd0308e5302d2 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit1(module=nodenext).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends RequireInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +export interface LocalInterface extends RequireInterface {} +=== /node_modules/pkg/require.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=node16).types index e6e97a84b46c7..1d4520eeb580b 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=node16).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends ImportInterface {} -No type information for this code.=== /node_modules/pkg/import.d.ts === +export interface LocalInterface extends ImportInterface {} +=== /node_modules/pkg/import.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=nodenext).types index e6e97a84b46c7..1d4520eeb580b 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit2(module=nodenext).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends ImportInterface {} -No type information for this code.=== /node_modules/pkg/import.d.ts === +export interface LocalInterface extends ImportInterface {} +=== /node_modules/pkg/import.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=node16).types index abc205f874244..7d2eebc21e002 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=node16).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends RequireInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +export interface LocalInterface extends RequireInterface {} +=== /node_modules/pkg/require.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=nodenext).types index abc205f874244..7d2eebc21e002 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit3(module=nodenext).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends RequireInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +export interface LocalInterface extends RequireInterface {} +=== /node_modules/pkg/require.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=node16).types index 62e354e99b15a..b6f215714e6bf 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=node16).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends ImportInterface {} -No type information for this code.=== /node_modules/pkg/import.d.ts === +export interface LocalInterface extends ImportInterface {} +=== /node_modules/pkg/import.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=nodenext).types index 62e354e99b15a..b6f215714e6bf 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit4(module=nodenext).types @@ -1,7 +1,8 @@ === /index.ts === + /// -No type information for this code.export interface LocalInterface extends ImportInterface {} -No type information for this code.=== /node_modules/pkg/import.d.ts === +export interface LocalInterface extends ImportInterface {} +=== /node_modules/pkg/import.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).types index 1e3690c89f053..275138c692863 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).types @@ -1,8 +1,9 @@ === /index.ts === + /// -No type information for this code./// -No type information for this code.export interface LocalInterface extends ImportInterface, RequireInterface {} -No type information for this code.=== /node_modules/pkg/import.d.ts === +/// +export interface LocalInterface extends ImportInterface, RequireInterface {} +=== /node_modules/pkg/import.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).types b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).types index 1e3690c89f053..275138c692863 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).types +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).types @@ -1,8 +1,9 @@ === /index.ts === + /// -No type information for this code./// -No type information for this code.export interface LocalInterface extends ImportInterface, RequireInterface {} -No type information for this code.=== /node_modules/pkg/import.d.ts === +/// +export interface LocalInterface extends ImportInterface, RequireInterface {} +=== /node_modules/pkg/import.d.ts === export {}; declare global { >global : any diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeOverrideOldResolutionError.symbols b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeOverrideOldResolutionError.symbols index 3546346b3477b..5603344b566c8 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeOverrideOldResolutionError.symbols +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeOverrideOldResolutionError.symbols @@ -1,7 +1,7 @@ === /index.ts === + /// -No type information for this code./// -No type information for this code.foo; // `resolution-mode` is an error in old resolution settings, which resolves is arbitrary -No type information for this code.bar; -No type information for this code.export {}; -No type information for this code. \ No newline at end of file +/// +foo; // `resolution-mode` is an error in old resolution settings, which resolves is arbitrary +bar; +export {}; diff --git a/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.symbols b/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.symbols index 5685121775b0c..2433d2465b23a 100644 --- a/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.symbols +++ b/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.symbols @@ -1,16 +1,20 @@ === /node_modules/@types/dedent/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/@types/dedent2/index.d.ts === + +=== /node_modules/@types/dedent2/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/@types/dedent3/index.d.ts === + +=== /node_modules/@types/dedent3/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/@types/dedent4/index.d.ts === + +=== /node_modules/@types/dedent4/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /index.mts === + +=== /index.mts === import dedent from "dedent"; >dedent : Symbol(dedent, Decl(index.mts, 0, 6)) diff --git a/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.types b/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.types index a2a37da0ecdca..f57013411f4b3 100644 --- a/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.types +++ b/tests/baselines/reference/nodeNextImportModeImplicitIndexResolution2.types @@ -1,16 +1,20 @@ === /node_modules/@types/dedent/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/@types/dedent2/index.d.ts === + +=== /node_modules/@types/dedent2/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/@types/dedent3/index.d.ts === + +=== /node_modules/@types/dedent3/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /node_modules/@types/dedent4/index.d.ts === + +=== /node_modules/@types/dedent4/index.d.ts === + export {}; -No type information for this code. -No type information for this code.=== /index.mts === + +=== /index.mts === import dedent from "dedent"; >dedent : typeof dedent diff --git a/tests/baselines/reference/nounusedTypeParameterConstraint.types b/tests/baselines/reference/nounusedTypeParameterConstraint.types index dcc36617cb068..9264d20234e6d 100644 --- a/tests/baselines/reference/nounusedTypeParameterConstraint.types +++ b/tests/baselines/reference/nounusedTypeParameterConstraint.types @@ -1,7 +1,8 @@ === tests/cases/compiler/bar.ts === + export interface IEventSourcedEntity { } -No type information for this code. -No type information for this code.=== tests/cases/compiler/test.ts === + +=== tests/cases/compiler/test.ts === import { IEventSourcedEntity } from "./bar"; >IEventSourcedEntity : any diff --git a/tests/baselines/reference/nullKeyword.symbols b/tests/baselines/reference/nullKeyword.symbols index 50f04ab725640..36fa2c582ed72 100644 --- a/tests/baselines/reference/nullKeyword.symbols +++ b/tests/baselines/reference/nullKeyword.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/nullKeyword.ts === + null.foo; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/numberAsInLHS.symbols b/tests/baselines/reference/numberAsInLHS.symbols index 4e9f68545cde9..8c580bc2cdff0 100644 --- a/tests/baselines/reference/numberAsInLHS.symbols +++ b/tests/baselines/reference/numberAsInLHS.symbols @@ -1,3 +1,3 @@ === tests/cases/compiler/numberAsInLHS.ts === + 3 in [0, 1] -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/numericStringLiteralTypes.types b/tests/baselines/reference/numericStringLiteralTypes.types index 245a3a674ba8e..e22186758f727 100644 --- a/tests/baselines/reference/numericStringLiteralTypes.types +++ b/tests/baselines/reference/numericStringLiteralTypes.types @@ -12,7 +12,7 @@ type T3 = string & `${T}`; // `${T} >T3 : `${T}` type T4 = string & `${Capitalize<`${T}`>}`; // `${Capitalize}` ->T4 : `${Capitalize<`${T}`>}` +>T4 : `${Capitalize}` function f1(a: boolean[], x: `${number}`) { >f1 : (a: boolean[], x: `${number}`) => void diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es2015).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es2015).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es2015).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es2015).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es2016).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es2016).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es2016).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es2016).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es2017).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es2017).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es2017).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es2017).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es2018).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es2018).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es2018).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es2018).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es2019).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es2019).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es2019).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es2019).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es3).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es3).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es3).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es3).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=es5).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=es5).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=es5).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=es5).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/numericUnderscoredSeparator(target=esnext).symbols b/tests/baselines/reference/numericUnderscoredSeparator(target=esnext).symbols index d0ffc9942d074..e3ee74ef3433c 100644 --- a/tests/baselines/reference/numericUnderscoredSeparator(target=esnext).symbols +++ b/tests/baselines/reference/numericUnderscoredSeparator(target=esnext).symbols @@ -1,7 +1,7 @@ === tests/cases/compiler/numericUnderscoredSeparator.ts === + 1_000_000_000_000 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0b1010_0001_1000_0101 -No type information for this code.0xA0_B0_C0 -No type information for this code. -No type information for this code. \ No newline at end of file +0b1010_0001_1000_0101 +0b1010_0001_1000_0101 +0xA0_B0_C0 + diff --git a/tests/baselines/reference/objectTypesWithPredefinedTypesAsName2.symbols b/tests/baselines/reference/objectTypesWithPredefinedTypesAsName2.symbols index 74f0517a75a11..66108670f0093 100644 --- a/tests/baselines/reference/objectTypesWithPredefinedTypesAsName2.symbols +++ b/tests/baselines/reference/objectTypesWithPredefinedTypesAsName2.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/types/specifyingTypes/predefinedTypes/objectTypesWithPredefinedTypesAsName2.ts === + // it is an error to use a predefined type as a type name -No type information for this code. -No type information for this code.class void {} // parse error unlike the others -No type information for this code. \ No newline at end of file + +class void {} // parse error unlike the others diff --git a/tests/baselines/reference/octalLiteralInStrictModeES3.symbols b/tests/baselines/reference/octalLiteralInStrictModeES3.symbols index 4882da6afc544..abea97d465841 100644 --- a/tests/baselines/reference/octalLiteralInStrictModeES3.symbols +++ b/tests/baselines/reference/octalLiteralInStrictModeES3.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/octalLiteralInStrictModeES3.ts === + "use strict"; -No type information for this code.03; -No type information for this code. \ No newline at end of file +03; diff --git a/tests/baselines/reference/operationsAvailableOnPromisedType.js b/tests/baselines/reference/operationsAvailableOnPromisedType.js index 3fca9b4e7857f..7043cd573d6d0 100644 --- a/tests/baselines/reference/operationsAvailableOnPromisedType.js +++ b/tests/baselines/reference/operationsAvailableOnPromisedType.js @@ -45,7 +45,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { @@ -83,12 +83,12 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { return to.concat(ar || Array.prototype.slice.call(from)); }; function fn(a, b, c, d, e, f, g) { - var c_1, c_1_1; - var e_1, _a; + var _a, c_1, c_1_1; + var _b, e_1, _c, _d; return __awaiter(this, void 0, void 0, function () { var _i, c_2, s, s, e_1_1; - return __generator(this, function (_b) { - switch (_b.label) { + return __generator(this, function (_e) { + switch (_e.label) { case 0: // All errors a | b; @@ -104,29 +104,36 @@ function fn(a, b, c, d, e, f, g) { fn(b, b, c, d, e, f, g); d.prop; } - _b.label = 1; + _e.label = 1; case 1: - _b.trys.push([1, 6, 7, 12]); - c_1 = __asyncValues(c); - _b.label = 2; + _e.trys.push([1, 6, 7, 12]); + _a = true, c_1 = __asyncValues(c); + _e.label = 2; case 2: return [4 /*yield*/, c_1.next()]; case 3: - if (!(c_1_1 = _b.sent(), !c_1_1.done)) return [3 /*break*/, 5]; - s = c_1_1.value; - _b.label = 4; + if (!(c_1_1 = _e.sent(), _b = c_1_1.done, !_b)) return [3 /*break*/, 5]; + _d = c_1_1.value; + _a = false; + try { + s = _d; + } + finally { + _a = true; + } + _e.label = 4; case 4: return [3 /*break*/, 2]; case 5: return [3 /*break*/, 12]; case 6: - e_1_1 = _b.sent(); + e_1_1 = _e.sent(); e_1 = { error: e_1_1 }; return [3 /*break*/, 12]; case 7: - _b.trys.push([7, , 10, 11]); - if (!(c_1_1 && !c_1_1.done && (_a = c_1["return"]))) return [3 /*break*/, 9]; - return [4 /*yield*/, _a.call(c_1)]; + _e.trys.push([7, , 10, 11]); + if (!(!_a && !_b && (_c = c_1["return"]))) return [3 /*break*/, 9]; + return [4 /*yield*/, _c.call(c_1)]; case 8: - _b.sent(); - _b.label = 9; + _e.sent(); + _e.label = 9; case 9: return [3 /*break*/, 11]; case 10: if (e_1) throw e_1.error; diff --git a/tests/baselines/reference/paramTagWrapping.errors.txt b/tests/baselines/reference/paramTagWrapping.errors.txt index b1564a4f85b8b..22e83a7b88beb 100644 --- a/tests/baselines/reference/paramTagWrapping.errors.txt +++ b/tests/baselines/reference/paramTagWrapping.errors.txt @@ -1,5 +1,4 @@ tests/cases/conformance/jsdoc/bad.js(2,11): error TS1003: Identifier expected. -tests/cases/conformance/jsdoc/bad.js(2,11): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. tests/cases/conformance/jsdoc/bad.js(5,4): error TS1003: Identifier expected. tests/cases/conformance/jsdoc/bad.js(5,4): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. tests/cases/conformance/jsdoc/bad.js(6,20): error TS1003: Identifier expected. @@ -24,13 +23,11 @@ tests/cases/conformance/jsdoc/bad.js(9,20): error TS7006: Parameter 'z' implicit good(1, 2, 3) -==== tests/cases/conformance/jsdoc/bad.js (9 errors) ==== +==== tests/cases/conformance/jsdoc/bad.js (8 errors) ==== /** * @param * !!! error TS1003: Identifier expected. - -!!! error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name. * {number} x Arg x. * @param {number} * * y Arg y. diff --git a/tests/baselines/reference/parenthesizedAsyncArrowFunction.js b/tests/baselines/reference/parenthesizedAsyncArrowFunction.js index 916a0e4a045c6..f3ad4f02eeff5 100644 --- a/tests/baselines/reference/parenthesizedAsyncArrowFunction.js +++ b/tests/baselines/reference/parenthesizedAsyncArrowFunction.js @@ -21,7 +21,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) { function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); - while (_) try { + while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { diff --git a/tests/baselines/reference/parenthesizedExpressionInternalComments.symbols b/tests/baselines/reference/parenthesizedExpressionInternalComments.symbols index ae9c793bee4bf..15b7b1fb5df7a 100644 --- a/tests/baselines/reference/parenthesizedExpressionInternalComments.symbols +++ b/tests/baselines/reference/parenthesizedExpressionInternalComments.symbols @@ -1,13 +1,13 @@ === tests/cases/compiler/parenthesizedExpressionInternalComments.ts === + /*1*/(/*2*/ "foo" /*3*/)/*4*/ -No type information for this code.; -No type information for this code. -No type information for this code.// open -No type information for this code./*1*/( -No type information for this code. // next -No type information for this code. /*2*/"foo" -No type information for this code. //close -No type information for this code. /*3*/)/*4*/ -No type information for this code.; -No type information for this code. -No type information for this code. \ No newline at end of file +; + +// open +/*1*/( + // next + /*2*/"foo" + //close + /*3*/)/*4*/ +; + diff --git a/tests/baselines/reference/parseAssertEntriesError.types b/tests/baselines/reference/parseAssertEntriesError.types index fb6f46a20c182..ac53c6622b31d 100644 --- a/tests/baselines/reference/parseAssertEntriesError.types +++ b/tests/baselines/reference/parseAssertEntriesError.types @@ -48,7 +48,8 @@ export const b = (null as any as import("pkg", { assert: {1234, "resolution-mode >ImportInterface : any === /node_modules/pkg/import.d.ts === + export interface ImportInterface {} -No type information for this code.=== /node_modules/pkg/require.d.ts === +=== /node_modules/pkg/require.d.ts === + export interface RequireInterface {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parseCommaSeparatedNewlineNew.symbols b/tests/baselines/reference/parseCommaSeparatedNewlineNew.symbols index d912adbb5e167..5fb4f9ceba08d 100644 --- a/tests/baselines/reference/parseCommaSeparatedNewlineNew.symbols +++ b/tests/baselines/reference/parseCommaSeparatedNewlineNew.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/parseCommaSeparatedNewlineNew.ts === + (a, -No type information for this code.new) -No type information for this code. \ No newline at end of file +new) diff --git a/tests/baselines/reference/parseCommaSeparatedNewlineNumber.symbols b/tests/baselines/reference/parseCommaSeparatedNewlineNumber.symbols index 2775ffef1733d..e9cc9f619c72c 100644 --- a/tests/baselines/reference/parseCommaSeparatedNewlineNumber.symbols +++ b/tests/baselines/reference/parseCommaSeparatedNewlineNumber.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/parseCommaSeparatedNewlineNumber.ts === + (a, -No type information for this code.1) -No type information for this code. \ No newline at end of file +1) diff --git a/tests/baselines/reference/parseCommaSeparatedNewlineString.symbols b/tests/baselines/reference/parseCommaSeparatedNewlineString.symbols index c5e111f98e376..f319877dafbbd 100644 --- a/tests/baselines/reference/parseCommaSeparatedNewlineString.symbols +++ b/tests/baselines/reference/parseCommaSeparatedNewlineString.symbols @@ -1,4 +1,4 @@ === tests/cases/compiler/parseCommaSeparatedNewlineString.ts === + (a, -No type information for this code.'') -No type information for this code. \ No newline at end of file +'') diff --git a/tests/baselines/reference/parseInvalidNames.symbols b/tests/baselines/reference/parseInvalidNames.symbols index 68cd4f736e466..2ff015d0bda90 100644 --- a/tests/baselines/reference/parseInvalidNames.symbols +++ b/tests/baselines/reference/parseInvalidNames.symbols @@ -1,12 +1,12 @@ === tests/cases/compiler/parseInvalidNames.ts === + namespace 100 {} -No type information for this code.interface 100 {} -No type information for this code.module 100 {} -No type information for this code.type 100 {} -No type information for this code. -No type information for this code.export namespace 100 {} -No type information for this code.export interface 100 {} -No type information for this code.export module 100 {} -No type information for this code.export type 100 {} -No type information for this code. -No type information for this code. \ No newline at end of file +interface 100 {} +module 100 {} +type 100 {} + +export namespace 100 {} +export interface 100 {} +export module 100 {} +export type 100 {} + diff --git a/tests/baselines/reference/parser.forAwait.es2018.symbols b/tests/baselines/reference/parser.forAwait.es2018.symbols index c859ebda94345..da7e6f79bcbd1 100644 --- a/tests/baselines/reference/parser.forAwait.es2018.symbols +++ b/tests/baselines/reference/parser.forAwait.es2018.symbols @@ -3,16 +3,18 @@ for await (const x of y) { >x : Symbol(x, Decl(topLevelWithDeclIsError.ts, 0, 16)) } === tests/cases/conformance/parser/ecmascript2018/forAwait/topLevelWithExprIsError.ts === + for await (x of y) { -No type information for this code.} -No type information for this code.=== tests/cases/conformance/parser/ecmascript2018/forAwait/forAwaitInWithDeclIsError.ts === +} +=== tests/cases/conformance/parser/ecmascript2018/forAwait/forAwaitInWithDeclIsError.ts === for await (const x in y) { >x : Symbol(x, Decl(forAwaitInWithDeclIsError.ts, 0, 16)) } === tests/cases/conformance/parser/ecmascript2018/forAwait/forAwaitInWithExprIsError.ts === + for await (x in y) { -No type information for this code.} -No type information for this code.=== tests/cases/conformance/parser/ecmascript2018/forAwait/inFunctionDeclWithDeclIsError.ts === +} +=== tests/cases/conformance/parser/ecmascript2018/forAwait/inFunctionDeclWithDeclIsError.ts === function f5() { >f5 : Symbol(f5, Decl(inFunctionDeclWithDeclIsError.ts, 0, 0)) diff --git a/tests/baselines/reference/parser.numericSeparators.binary.symbols b/tests/baselines/reference/parser.numericSeparators.binary.symbols index fd24dd4df6019..accde6e18f2ec 100644 --- a/tests/baselines/reference/parser.numericSeparators.binary.symbols +++ b/tests/baselines/reference/parser.numericSeparators.binary.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/parser.numericSeparators.binary.ts === + 0b00_11; -No type information for this code.0B0_1; -No type information for this code.0b1100_0011; -No type information for this code.0B0_11_0101; -No type information for this code. -No type information for this code. \ No newline at end of file +0B0_1; +0b1100_0011; +0B0_11_0101; + diff --git a/tests/baselines/reference/parser.numericSeparators.binaryNegative.symbols b/tests/baselines/reference/parser.numericSeparators.binaryNegative.symbols index 3605b2f942481..0cd887408ed76 100644 --- a/tests/baselines/reference/parser.numericSeparators.binaryNegative.symbols +++ b/tests/baselines/reference/parser.numericSeparators.binaryNegative.symbols @@ -1,19 +1,24 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/1.ts === + 0b00_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + 0b_110 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + 0_B0101 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + 0b01__11 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + 0B0110_0110__ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + 0b___0111010_0101_1 -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parser.numericSeparators.decimal.symbols b/tests/baselines/reference/parser.numericSeparators.decimal.symbols index 3dca38ab535e1..dd9ffd8766218 100644 --- a/tests/baselines/reference/parser.numericSeparators.decimal.symbols +++ b/tests/baselines/reference/parser.numericSeparators.decimal.symbols @@ -1,17 +1,17 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/parser.numericSeparators.decimal.ts === + 1_000_000_000 -No type information for this code.1.1_00_01 -No type information for this code.1e1_0 -No type information for this code.1e+1_0 -No type information for this code.1e-1_0 -No type information for this code.1.1e10_0 -No type information for this code.1.1e+10_0 -No type information for this code.1.1e-10_0 -No type information for this code.12_34_56 -No type information for this code.1_22_333 -No type information for this code.1_2.3_4 -No type information for this code.1_2.3_4e5_6 -No type information for this code.1_2.3_4e+5_6 -No type information for this code.1_2.3_4e-5_6 -No type information for this code. -No type information for this code. \ No newline at end of file +1.1_00_01 +1e1_0 +1e+1_0 +1e-1_0 +1.1e10_0 +1.1e+10_0 +1.1e-10_0 +12_34_56 +1_22_333 +1_2.3_4 +1_2.3_4e5_6 +1_2.3_4e+5_6 +1_2.3_4e-5_6 + diff --git a/tests/baselines/reference/parser.numericSeparators.decmialNegative.symbols b/tests/baselines/reference/parser.numericSeparators.decmialNegative.symbols index bcfd1533c30dc..77603325c737d 100644 --- a/tests/baselines/reference/parser.numericSeparators.decmialNegative.symbols +++ b/tests/baselines/reference/parser.numericSeparators.decmialNegative.symbols @@ -1,154 +1,204 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/1.ts === + _10 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + 10_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + 1__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + 0_.0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + 0._0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + 0.0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/7.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/7.ts === + 0.0__ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/8.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/8.ts === + 0_e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/9.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/9.ts === + 0e_0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/10.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/10.ts === + 0e0_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/11.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/11.ts === + 0e0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/12.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/12.ts === + 0_.0e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/13.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/13.ts === + 0._0e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/14.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/14.ts === + 0.0_e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/15.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/15.ts === + 0.0e_0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/16.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/16.ts === + _0.0e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/17.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/17.ts === + 0.0e0_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/18.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/18.ts === + 0__0.0e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/19.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/19.ts === + 0.0__0e0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/20.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/20.ts === + 0.00e0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/21.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/21.ts === + 0_e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/22.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/22.ts === + 0e+_0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/23.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/23.ts === + 0e+0_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/24.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/24.ts === + 0e+0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/25.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/25.ts === + 0_.0e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/26.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/26.ts === + 0._0e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/27.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/27.ts === + 0.0_e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/28.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/28.ts === + 0.0e+_0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/29.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/29.ts === + _0.0e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/30.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/30.ts === + 0.0e+0_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/31.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/31.ts === + 0__0.0e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/32.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/32.ts === + 0.0__0e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/33.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/33.ts === + 0.00e+0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/34.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/34.ts === + 0_e+0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/35.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/35.ts === + 0e-_0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/36.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/36.ts === + 0e-0_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/37.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/37.ts === + 0e-0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/38.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/38.ts === + 0_.0e-0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/39.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/39.ts === + 0._0e-0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/40.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/40.ts === + 0.0_e-0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/41.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/41.ts === + 0.0e-_0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/42.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/42.ts === + _0.0e-0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/43.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/43.ts === + 0.0e-0_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/44.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/44.ts === + 0__0.0e-0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/45.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/45.ts === + 0.0__0e-0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/46.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/46.ts === + 0.00e-0__0 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/47.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/47.ts === + ._ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/48.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/48.ts === + 1\u005F01234 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/49.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/49.ts === + 1.0e_+10 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/50.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/50.ts === + 1.0e_-10 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/51.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/51.ts === + 0._ -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parser.numericSeparators.hex.symbols b/tests/baselines/reference/parser.numericSeparators.hex.symbols index 6ebbb0a3b4095..faab04836428d 100644 --- a/tests/baselines/reference/parser.numericSeparators.hex.symbols +++ b/tests/baselines/reference/parser.numericSeparators.hex.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/parser.numericSeparators.hex.ts === + 0x00_11; -No type information for this code.0X0_1; -No type information for this code.0x1100_0011; -No type information for this code.0X0_11_0101; -No type information for this code. -No type information for this code. \ No newline at end of file +0X0_1; +0x1100_0011; +0X0_11_0101; + diff --git a/tests/baselines/reference/parser.numericSeparators.hexNegative.symbols b/tests/baselines/reference/parser.numericSeparators.hexNegative.symbols index eacbed235dab0..5d5f0761d109a 100644 --- a/tests/baselines/reference/parser.numericSeparators.hexNegative.symbols +++ b/tests/baselines/reference/parser.numericSeparators.hexNegative.symbols @@ -1,19 +1,24 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/1.ts === + 0x00_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + 0x_110 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + 0_X0101 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + 0x01__11 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + 0X0110_0110__ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + 0x___0111010_0101_1 -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parser.numericSeparators.octal.symbols b/tests/baselines/reference/parser.numericSeparators.octal.symbols index 6b479ce696a0f..823274a252ff2 100644 --- a/tests/baselines/reference/parser.numericSeparators.octal.symbols +++ b/tests/baselines/reference/parser.numericSeparators.octal.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/parser.numericSeparators.octal.ts === + 0o00_11; -No type information for this code.0O0_1; -No type information for this code.0o1100_0011; -No type information for this code.0O0_11_0101; -No type information for this code. -No type information for this code. \ No newline at end of file +0O0_1; +0o1100_0011; +0O0_11_0101; + diff --git a/tests/baselines/reference/parser.numericSeparators.octalNegative.symbols b/tests/baselines/reference/parser.numericSeparators.octalNegative.symbols index 0157379b4dbf0..ffc37c78e235e 100644 --- a/tests/baselines/reference/parser.numericSeparators.octalNegative.symbols +++ b/tests/baselines/reference/parser.numericSeparators.octalNegative.symbols @@ -1,19 +1,24 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/1.ts === + 0o00_ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + 0o_110 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + 0_O0101 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + 0o01__11 -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + 0O0110_0110__ -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + 0o___0111010_0101_1 -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parser.numericSeparators.unicodeEscape.symbols b/tests/baselines/reference/parser.numericSeparators.unicodeEscape.symbols index 86584c432e975..2d00926985836 100644 --- a/tests/baselines/reference/parser.numericSeparators.unicodeEscape.symbols +++ b/tests/baselines/reference/parser.numericSeparators.unicodeEscape.symbols @@ -1,145 +1,192 @@ === tests/cases/conformance/parser/ecmascript2021/numericSeparators/1.ts === + "\u{10_ffff}" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/2.ts === + '\u{10_ffff}' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/3.ts === + `\u{10_ffff}` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/4.ts === + /\u{10_ffff}/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/5.ts === + "\uff_ff" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/6.ts === + '\uff_ff' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/7.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/7.ts === + `\uff_ff` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/8.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/8.ts === + /\uff_ff/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/9.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/9.ts === + "\xf_f" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/10.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/10.ts === + '\xf_f' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/11.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/11.ts === + `\xf_f` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/12.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/12.ts === + /\xf_f/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/13.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/13.ts === + "\u{_10ffff}" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/14.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/14.ts === + '\u{_10ffff}' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/15.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/15.ts === + `\u{_10ffff}` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/16.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/16.ts === + /\u{_10ffff}/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/17.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/17.ts === + "\u_ffff" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/18.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/18.ts === + '\u_ffff' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/19.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/19.ts === + `\u_ffff` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/20.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/20.ts === + /\u_ffff/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/21.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/21.ts === + "\x_ff" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/22.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/22.ts === + '\x_ff' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/23.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/23.ts === + `\x_ff` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/24.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/24.ts === + /\x_ff/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/25.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/25.ts === + "\u{10ffff_}" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/26.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/26.ts === + '\u{10ffff_}' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/27.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/27.ts === + `\u{10ffff_}` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/28.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/28.ts === + /\u{10ffff_}/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/29.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/29.ts === + "\uffff_" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/30.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/30.ts === + '\uffff_' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/31.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/31.ts === + `\uffff_` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/32.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/32.ts === + /\uffff_/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/33.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/33.ts === + "\xff_" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/34.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/34.ts === + '\xff_' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/35.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/35.ts === + `\xff_` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/36.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/36.ts === + /\xff_/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/37.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/37.ts === + "\u{10__ffff}" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/38.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/38.ts === + '\u{10__ffff}' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/39.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/39.ts === + `\u{10__ffff}` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/40.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/40.ts === + /\u{10__ffff}/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/41.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/41.ts === + "\uff__ff" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/42.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/42.ts === + '\uff__ff' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/43.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/43.ts === + `\uff__ff` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/44.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/44.ts === + /\uff__ff/u -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/45.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/45.ts === + "\xf__f" -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/46.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/46.ts === + '\xf__f' -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/47.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/47.ts === + `\xf__f` -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/48.ts === + +=== tests/cases/conformance/parser/ecmascript2021/numericSeparators/48.ts === + /\xf__f/u -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parser509693.symbols b/tests/baselines/reference/parser509693.symbols index fe2209c13c125..e49db8953d791 100644 --- a/tests/baselines/reference/parser509693.symbols +++ b/tests/baselines/reference/parser509693.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509693.ts === + if (!module.exports) module.exports = ""; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parser521128.symbols b/tests/baselines/reference/parser521128.symbols index e9355a9221949..086352555a47e 100644 --- a/tests/baselines/reference/parser521128.symbols +++ b/tests/baselines/reference/parser521128.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegressionTests/parser521128.ts === + module.module { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parser768531.symbols b/tests/baselines/reference/parser768531.symbols index 2da2298c8e207..794853b7f54b3 100644 --- a/tests/baselines/reference/parser768531.symbols +++ b/tests/baselines/reference/parser768531.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Fuzz/parser768531.ts === + {a: 3} -No type information for this code./x/ -No type information for this code. \ No newline at end of file +/x/ diff --git a/tests/baselines/reference/parserAdditiveExpression1.symbols b/tests/baselines/reference/parserAdditiveExpression1.symbols index 894de1472f74c..b40b3fb715b45 100644 --- a/tests/baselines/reference/parserAdditiveExpression1.symbols +++ b/tests/baselines/reference/parserAdditiveExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserAdditiveExpression1.ts === + m.index+1+m[0].length; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserAmbiguity2.symbols b/tests/baselines/reference/parserAmbiguity2.symbols index 284351f93b518..eda8cfc486104 100644 --- a/tests/baselines/reference/parserAmbiguity2.symbols +++ b/tests/baselines/reference/parserAmbiguity2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserAmbiguity2.ts === + f(g7); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserAmbiguity3.symbols b/tests/baselines/reference/parserAmbiguity3.symbols index afa73eb325b9c..8eadb23ae88fd 100644 --- a/tests/baselines/reference/parserAmbiguity3.symbols +++ b/tests/baselines/reference/parserAmbiguity3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserAmbiguity3.ts === + f(g < A, B > +(7)); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserArrowFunctionExpression13(target=es3).symbols b/tests/baselines/reference/parserArrowFunctionExpression13(target=es3).symbols index 966a71ec7dfc0..39bc1cf15144d 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression13(target=es3).symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression13(target=es3).symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/fileJs.js === + a ? () => a() : (): any => null; // Not legal JS; "Unexpected token ')'" at last paren -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/fileTs.ts === + +=== tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/fileTs.ts === + a ? () => a() : (): any => null; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parserArrowFunctionExpression13(target=es6).symbols b/tests/baselines/reference/parserArrowFunctionExpression13(target=es6).symbols index 966a71ec7dfc0..39bc1cf15144d 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression13(target=es6).symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression13(target=es6).symbols @@ -1,7 +1,8 @@ === tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/fileJs.js === + a ? () => a() : (): any => null; // Not legal JS; "Unexpected token ')'" at last paren -No type information for this code. -No type information for this code.=== tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/fileTs.ts === + +=== tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/fileTs.ts === + a ? () => a() : (): any => null; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parserArrowFunctionExpression2.symbols b/tests/baselines/reference/parserArrowFunctionExpression2.symbols index 221aec7f9e30a..787bfb997809f 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression2.symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression2.ts === + a = () => { } || a -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserArrowFunctionExpression3.symbols b/tests/baselines/reference/parserArrowFunctionExpression3.symbols index a9fb95309b147..73d96d886d578 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression3.symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression3.ts === + a = (() => { } || a) -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserArrowFunctionExpression4.symbols b/tests/baselines/reference/parserArrowFunctionExpression4.symbols index 07890b16804db..35e8d365bd892 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression4.symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression4.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression4.ts === + a = (() => { }, a) -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserArrowFunctionExpression5.symbols b/tests/baselines/reference/parserArrowFunctionExpression5.symbols index eeb93537357f6..722cde62ecb75 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression5.symbols +++ b/tests/baselines/reference/parserArrowFunctionExpression5.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression5.ts === + (bar(x, -No type information for this code. () => {}, -No type information for this code. () => {} -No type information for this code. ) -No type information for this code.) -No type information for this code. -No type information for this code. \ No newline at end of file + () => {}, + () => {} + ) +) + diff --git a/tests/baselines/reference/parserAssignmentExpression1.symbols b/tests/baselines/reference/parserAssignmentExpression1.symbols index 529ed0078e0c0..62f3575ae49f5 100644 --- a/tests/baselines/reference/parserAssignmentExpression1.symbols +++ b/tests/baselines/reference/parserAssignmentExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Expressions/parserAssignmentExpression1.ts === + (foo()) = bar; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserBlockStatement1.d.symbols b/tests/baselines/reference/parserBlockStatement1.d.symbols index f01d15a8ea7c3..18686d9d11706 100644 --- a/tests/baselines/reference/parserBlockStatement1.d.symbols +++ b/tests/baselines/reference/parserBlockStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserBlockStatement1.d.ts === + {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserBlockStatement1.d.types b/tests/baselines/reference/parserBlockStatement1.d.types index f01d15a8ea7c3..18686d9d11706 100644 --- a/tests/baselines/reference/parserBlockStatement1.d.types +++ b/tests/baselines/reference/parserBlockStatement1.d.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserBlockStatement1.d.ts === + {} -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserBreakStatement1.d.symbols b/tests/baselines/reference/parserBreakStatement1.d.symbols index 56ba3a7415868..f8767cb3e9a72 100644 --- a/tests/baselines/reference/parserBreakStatement1.d.symbols +++ b/tests/baselines/reference/parserBreakStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserBreakStatement1.d.ts === + break; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserBreakStatement1.d.types b/tests/baselines/reference/parserBreakStatement1.d.types index 56ba3a7415868..f8767cb3e9a72 100644 --- a/tests/baselines/reference/parserBreakStatement1.d.types +++ b/tests/baselines/reference/parserBreakStatement1.d.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserBreakStatement1.d.ts === + break; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserContinueStatement1.d.symbols b/tests/baselines/reference/parserContinueStatement1.d.symbols index 285af64728b9e..050f74240ec40 100644 --- a/tests/baselines/reference/parserContinueStatement1.d.symbols +++ b/tests/baselines/reference/parserContinueStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserContinueStatement1.d.ts === + continue; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserContinueStatement1.d.types b/tests/baselines/reference/parserContinueStatement1.d.types index 285af64728b9e..050f74240ec40 100644 --- a/tests/baselines/reference/parserContinueStatement1.d.types +++ b/tests/baselines/reference/parserContinueStatement1.d.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserContinueStatement1.d.ts === + continue; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDebuggerStatement1.d.symbols b/tests/baselines/reference/parserDebuggerStatement1.d.symbols index 82eca9464a84a..0fa2e2711897a 100644 --- a/tests/baselines/reference/parserDebuggerStatement1.d.symbols +++ b/tests/baselines/reference/parserDebuggerStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserDebuggerStatement1.d.ts === + debugger; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDebuggerStatement1.d.types b/tests/baselines/reference/parserDebuggerStatement1.d.types index 82eca9464a84a..0fa2e2711897a 100644 --- a/tests/baselines/reference/parserDebuggerStatement1.d.types +++ b/tests/baselines/reference/parserDebuggerStatement1.d.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserDebuggerStatement1.d.ts === + debugger; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDebuggerStatement1.symbols b/tests/baselines/reference/parserDebuggerStatement1.symbols index bfc1785f927de..8cd8209fe9cf5 100644 --- a/tests/baselines/reference/parserDebuggerStatement1.symbols +++ b/tests/baselines/reference/parserDebuggerStatement1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserDebuggerStatement1.ts === + debugger -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDebuggerStatement1.types b/tests/baselines/reference/parserDebuggerStatement1.types index bfc1785f927de..8cd8209fe9cf5 100644 --- a/tests/baselines/reference/parserDebuggerStatement1.types +++ b/tests/baselines/reference/parserDebuggerStatement1.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserDebuggerStatement1.ts === + debugger -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDebuggerStatement2.symbols b/tests/baselines/reference/parserDebuggerStatement2.symbols index 9916218897c1e..53fc5102d25b0 100644 --- a/tests/baselines/reference/parserDebuggerStatement2.symbols +++ b/tests/baselines/reference/parserDebuggerStatement2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserDebuggerStatement2.ts === + debugger; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDebuggerStatement2.types b/tests/baselines/reference/parserDebuggerStatement2.types index 9916218897c1e..53fc5102d25b0 100644 --- a/tests/baselines/reference/parserDebuggerStatement2.types +++ b/tests/baselines/reference/parserDebuggerStatement2.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserDebuggerStatement2.ts === + debugger; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserDoStatement1.d.symbols b/tests/baselines/reference/parserDoStatement1.d.symbols index ccab7da87d82a..346bdf7a977aa 100644 --- a/tests/baselines/reference/parserDoStatement1.d.symbols +++ b/tests/baselines/reference/parserDoStatement1.d.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserDoStatement1.d.ts === + do { -No type information for this code.} -No type information for this code.while (e); -No type information for this code. \ No newline at end of file +} +while (e); diff --git a/tests/baselines/reference/parserDoStatement2.symbols b/tests/baselines/reference/parserDoStatement2.symbols index 62790b4910340..86f495947e1de 100644 --- a/tests/baselines/reference/parserDoStatement2.symbols +++ b/tests/baselines/reference/parserDoStatement2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserDoStatement2.ts === + do{;}while(false)false -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ForOfStatement2.symbols b/tests/baselines/reference/parserES5ForOfStatement2.symbols index f381d3625c58a..3f6f226de141b 100644 --- a/tests/baselines/reference/parserES5ForOfStatement2.symbols +++ b/tests/baselines/reference/parserES5ForOfStatement2.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement2.ts === + for (var of X) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserES5ForOfStatement21.symbols b/tests/baselines/reference/parserES5ForOfStatement21.symbols index 676684c2d5041..80622e02cbe95 100644 --- a/tests/baselines/reference/parserES5ForOfStatement21.symbols +++ b/tests/baselines/reference/parserES5ForOfStatement21.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserES5ForOfStatement21.ts === + for (var of of) { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserEmptyFile1.symbols b/tests/baselines/reference/parserEmptyFile1.symbols index d48ac0a484110..6a927f9eed61f 100644 --- a/tests/baselines/reference/parserEmptyFile1.symbols +++ b/tests/baselines/reference/parserEmptyFile1.symbols @@ -1,3 +1,2 @@ === tests/cases/conformance/parser/ecmascript5/parserEmptyFile1.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserEmptyFile1.types b/tests/baselines/reference/parserEmptyFile1.types index d48ac0a484110..6a927f9eed61f 100644 --- a/tests/baselines/reference/parserEmptyFile1.types +++ b/tests/baselines/reference/parserEmptyFile1.types @@ -1,3 +1,2 @@ === tests/cases/conformance/parser/ecmascript5/parserEmptyFile1.ts === -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserEmptyStatement1.d.symbols b/tests/baselines/reference/parserEmptyStatement1.d.symbols index b7baa6a9ec627..1f229fea77689 100644 --- a/tests/baselines/reference/parserEmptyStatement1.d.symbols +++ b/tests/baselines/reference/parserEmptyStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserEmptyStatement1.d.ts === + ; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserEmptyStatement1.d.types b/tests/baselines/reference/parserEmptyStatement1.d.types index b7baa6a9ec627..1f229fea77689 100644 --- a/tests/baselines/reference/parserEmptyStatement1.d.types +++ b/tests/baselines/reference/parserEmptyStatement1.d.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserEmptyStatement1.d.ts === + ; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ArgumentList6.symbols b/tests/baselines/reference/parserErrorRecovery_ArgumentList6.symbols index c5e9b0e6a9c72..674897dab99fe 100644 --- a/tests/baselines/reference/parserErrorRecovery_ArgumentList6.symbols +++ b/tests/baselines/reference/parserErrorRecovery_ArgumentList6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList6.ts === + Foo(, -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ArgumentList7.symbols b/tests/baselines/reference/parserErrorRecovery_ArgumentList7.symbols index 3b763e1cc4a35..97663f26d0142 100644 --- a/tests/baselines/reference/parserErrorRecovery_ArgumentList7.symbols +++ b/tests/baselines/reference/parserErrorRecovery_ArgumentList7.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList7.ts === + Foo(a,, -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause6.types b/tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause6.types index 73614051301c6..9a5c60eb1480a 100644 --- a/tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause6.types +++ b/tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause6.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause6.ts === + interface I extends { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_LeftShift1.symbols b/tests/baselines/reference/parserErrorRecovery_LeftShift1.symbols index 814a5df671743..b947f622f5f95 100644 --- a/tests/baselines/reference/parserErrorRecovery_LeftShift1.symbols +++ b/tests/baselines/reference/parserErrorRecovery_LeftShift1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/LeftShifts/parserErrorRecovery_LeftShift1.ts === + retValue = bfs.VARIABLES >> ); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ModuleElement1.symbols b/tests/baselines/reference/parserErrorRecovery_ModuleElement1.symbols index 6c86acab75eb6..69f66bf6d2513 100644 --- a/tests/baselines/reference/parserErrorRecovery_ModuleElement1.symbols +++ b/tests/baselines/reference/parserErrorRecovery_ModuleElement1.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ModuleElements/parserErrorRecovery_ModuleElement1.ts === + return foo; -No type information for this code.} -No type information for this code.return bar; -No type information for this code.} -No type information for this code. \ No newline at end of file +} +return bar; +} diff --git a/tests/baselines/reference/parserErrorRecovery_SwitchStatement1.symbols b/tests/baselines/reference/parserErrorRecovery_SwitchStatement1.symbols index 6c3c556324507..86e8f458f8d1f 100644 --- a/tests/baselines/reference/parserErrorRecovery_SwitchStatement1.symbols +++ b/tests/baselines/reference/parserErrorRecovery_SwitchStatement1.symbols @@ -1,9 +1,9 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/SwitchStatements/parserErrorRecovery_SwitchStatement1.ts === + switch (e) { -No type information for this code. case 1: -No type information for this code. 1 + -No type information for this code. case 2: -No type information for this code. 1 + -No type information for this code. default: -No type information for this code.} -No type information for this code. \ No newline at end of file + case 1: + 1 + + case 2: + 1 + + default: +} diff --git a/tests/baselines/reference/parserExportAssignment1.symbols b/tests/baselines/reference/parserExportAssignment1.symbols index c9392ee0c7f10..c7a8f460857f9 100644 --- a/tests/baselines/reference/parserExportAssignment1.symbols +++ b/tests/baselines/reference/parserExportAssignment1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment1.ts === + export = foo -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserExportAssignment2.symbols b/tests/baselines/reference/parserExportAssignment2.symbols index fba3f820db568..f61f023deffb1 100644 --- a/tests/baselines/reference/parserExportAssignment2.symbols +++ b/tests/baselines/reference/parserExportAssignment2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment2.ts === + export = foo; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserExportAssignment3.symbols b/tests/baselines/reference/parserExportAssignment3.symbols index b1ed4d22a71ec..22dad9c2989f1 100644 --- a/tests/baselines/reference/parserExportAssignment3.symbols +++ b/tests/baselines/reference/parserExportAssignment3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment3.ts === + export = -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserExportAssignment4.symbols b/tests/baselines/reference/parserExportAssignment4.symbols index 159c4882de720..9d1a0626f8d41 100644 --- a/tests/baselines/reference/parserExportAssignment4.symbols +++ b/tests/baselines/reference/parserExportAssignment4.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment4.ts === + export = ; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserExpressionStatement1.d.symbols b/tests/baselines/reference/parserExpressionStatement1.d.symbols index c6d675cf80bd0..fcff229fb2751 100644 --- a/tests/baselines/reference/parserExpressionStatement1.d.symbols +++ b/tests/baselines/reference/parserExpressionStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserExpressionStatement1.d.ts === + Foo(); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserForInStatement2.symbols b/tests/baselines/reference/parserForInStatement2.symbols index 56a34ebf3814f..78d5fb9abb8d3 100644 --- a/tests/baselines/reference/parserForInStatement2.symbols +++ b/tests/baselines/reference/parserForInStatement2.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement2.ts === + for (var in X) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForOfStatement2.symbols b/tests/baselines/reference/parserForOfStatement2.symbols index 3ec838f40b1d2..d333a7e18702b 100644 --- a/tests/baselines/reference/parserForOfStatement2.symbols +++ b/tests/baselines/reference/parserForOfStatement2.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript6/Iterators/parserForOfStatement2.ts === + for (var of X) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForOfStatement21.symbols b/tests/baselines/reference/parserForOfStatement21.symbols index a95b8d21898bd..932f597c5db9f 100644 --- a/tests/baselines/reference/parserForOfStatement21.symbols +++ b/tests/baselines/reference/parserForOfStatement21.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript6/Iterators/parserForOfStatement21.ts === + for (var of of) { } -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserForStatement1.d.symbols b/tests/baselines/reference/parserForStatement1.d.symbols index 7ab80b871049f..e708f60ca6bbb 100644 --- a/tests/baselines/reference/parserForStatement1.d.symbols +++ b/tests/baselines/reference/parserForStatement1.d.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement1.d.ts === + for (;;) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForStatement1.d.types b/tests/baselines/reference/parserForStatement1.d.types index 7ab80b871049f..e708f60ca6bbb 100644 --- a/tests/baselines/reference/parserForStatement1.d.types +++ b/tests/baselines/reference/parserForStatement1.d.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement1.d.ts === + for (;;) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForStatement3.symbols b/tests/baselines/reference/parserForStatement3.symbols index c6efdfe870035..079e3c904332b 100644 --- a/tests/baselines/reference/parserForStatement3.symbols +++ b/tests/baselines/reference/parserForStatement3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement3.ts === + for(d in _.jh[a]=_.jh[a]||[],b); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserForStatement4.symbols b/tests/baselines/reference/parserForStatement4.symbols index f93836ecfa2e3..c30ce6be14f61 100644 --- a/tests/baselines/reference/parserForStatement4.symbols +++ b/tests/baselines/reference/parserForStatement4.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement4.ts === + for (a = 1 in b) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForStatement5.symbols b/tests/baselines/reference/parserForStatement5.symbols index c018b4d8a99d0..7e3507632081d 100644 --- a/tests/baselines/reference/parserForStatement5.symbols +++ b/tests/baselines/reference/parserForStatement5.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement5.ts === + for ({} in b) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForStatement6.symbols b/tests/baselines/reference/parserForStatement6.symbols index 604b497fa062d..ef319cd1c69ce 100644 --- a/tests/baselines/reference/parserForStatement6.symbols +++ b/tests/baselines/reference/parserForStatement6.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement6.ts === + for (foo() in b) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserForStatement7.symbols b/tests/baselines/reference/parserForStatement7.symbols index 793d8d5fa5f62..54a41f2144f9c 100644 --- a/tests/baselines/reference/parserForStatement7.symbols +++ b/tests/baselines/reference/parserForStatement7.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement7.ts === + for (new foo() in b) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserFuzz1.symbols b/tests/baselines/reference/parserFuzz1.symbols index 130831017b591..69ec4f6e53dec 100644 --- a/tests/baselines/reference/parserFuzz1.symbols +++ b/tests/baselines/reference/parserFuzz1.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserFuzz1.ts === + cla > 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.symbols index daf18ee868dc3..b44f5107fbcb9 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity10.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity10.ts === + 1 -No type information for this code.// before -No type information for this code.>>> // after -No type information for this code.2; -No type information for this code. \ No newline at end of file +// before +>>> // after +2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity11.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity11.symbols index fd8d0bb163563..fdaad055dee5f 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity11.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity11.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity11.ts === + 1 >>= 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity12.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity12.symbols index 69e8d972a8b25..dae0525ef946e 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity12.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity12.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity12.ts === + 1 >> = 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity13.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity13.symbols index e2ecb4965dc7c..c7a20e6bab512 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity13.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity13.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity13.ts === + 1 >>/**/= 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity14.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity14.symbols index 7581b6ace0ab4..811b9891d423b 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity14.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity14.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity14.ts === + 1 >> -No type information for this code.= 2; -No type information for this code. \ No newline at end of file += 2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity15.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity15.symbols index c03c954704b8a..236ea5da87880 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity15.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity15.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity15.ts === + 1 -No type information for this code.// before -No type information for this code.>>= // after -No type information for this code.2; -No type information for this code. \ No newline at end of file +// before +>>= // after +2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity16.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity16.symbols index 66d9953a5cb44..84aff11e55a26 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity16.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity16.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity16.ts === + 1 >>>= 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity17.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity17.symbols index 8cb204abcb19e..e95fface73430 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity17.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity17.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity17.ts === + 1 >>> = 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity18.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity18.symbols index 28a7538a3fd2d..0b7adb4c5ed94 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity18.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity18.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity18.ts === + 1 >>>/**/= 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity19.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity19.symbols index 722b0e1097d81..d08edd2b24e98 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity19.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity19.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity19.ts === + 1 >>> -No type information for this code.= 2; -No type information for this code. \ No newline at end of file += 2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.symbols index 43adc413615b5..1209eba5f3db0 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity2.ts === + 1 > > 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity20.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity20.symbols index de6697b8faddf..fe6b1e1496f64 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity20.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity20.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity20.ts === + 1 -No type information for this code.// Before -No type information for this code.>>>= // after -No type information for this code.2; -No type information for this code. \ No newline at end of file +// Before +>>>= // after +2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.symbols index 5cca4512a387b..a9e941f0b986f 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity3.ts === + 1 >/**/> 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.symbols index 53bdd756d27f6..52bde9d128342 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity4.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity4.ts === + 1 > -No type information for this code.> 2; -No type information for this code. \ No newline at end of file +> 2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.symbols index f0ca1bc80c9e7..ee7dcc401369a 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity5.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity5.ts === + 1 -No type information for this code.// before -No type information for this code.>> // after -No type information for this code.2; -No type information for this code. \ No newline at end of file +// before +>> // after +2; diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.symbols index 4ea0d39b9653d..59ce4803d23d7 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity6.ts === + 1 >>> 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity7.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity7.symbols index db77d8f1deeef..f898b9792b568 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity7.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity7.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity7.ts === + 1 >> > 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity8.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity8.symbols index 97e8fded355df..c584e6f1668c1 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity8.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity8.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity8.ts === + 1 >>/**/> 2; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserGreaterThanTokenAmbiguity9.symbols b/tests/baselines/reference/parserGreaterThanTokenAmbiguity9.symbols index d23d2fadaefda..abbaa74197f5c 100644 --- a/tests/baselines/reference/parserGreaterThanTokenAmbiguity9.symbols +++ b/tests/baselines/reference/parserGreaterThanTokenAmbiguity9.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity9.ts === + 1 >> -No type information for this code.> 2; -No type information for this code. \ No newline at end of file +> 2; diff --git a/tests/baselines/reference/parserIfStatement1.d.symbols b/tests/baselines/reference/parserIfStatement1.d.symbols index 84a87102b4392..7ab3b0ec5ee33 100644 --- a/tests/baselines/reference/parserIfStatement1.d.symbols +++ b/tests/baselines/reference/parserIfStatement1.d.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserIfStatement1.d.ts === + if (foo) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserIfStatement2.symbols b/tests/baselines/reference/parserIfStatement2.symbols index 6012852af0e78..763d35ff23ce5 100644 --- a/tests/baselines/reference/parserIfStatement2.symbols +++ b/tests/baselines/reference/parserIfStatement2.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserIfStatement2.ts === + if (a) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserIndexSignature9.types b/tests/baselines/reference/parserIndexSignature9.types index 3687cda579b8b..1c0c2d3545fc3 100644 --- a/tests/baselines/reference/parserIndexSignature9.types +++ b/tests/baselines/reference/parserIndexSignature9.types @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature9.ts === + interface I { -No type information for this code. []: number -No type information for this code.} -No type information for this code. \ No newline at end of file + []: number +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration1.types b/tests/baselines/reference/parserInterfaceDeclaration1.types index 4a1a8dcabe9dd..0dc1e310150fe 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration1.types +++ b/tests/baselines/reference/parserInterfaceDeclaration1.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration1.ts === + interface I extends A extends B { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration2.types b/tests/baselines/reference/parserInterfaceDeclaration2.types index f57dc5c689122..f1985f89b3da5 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration2.types +++ b/tests/baselines/reference/parserInterfaceDeclaration2.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration2.ts === + interface I implements A { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration3.types b/tests/baselines/reference/parserInterfaceDeclaration3.types index fbf73c9656da9..4b2d7b3b5f66f 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration3.types +++ b/tests/baselines/reference/parserInterfaceDeclaration3.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration3.ts === + public interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration4.types b/tests/baselines/reference/parserInterfaceDeclaration4.types index 36f043bf080ad..b2b6bd0a35e17 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration4.types +++ b/tests/baselines/reference/parserInterfaceDeclaration4.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration4.ts === + static interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration5.types b/tests/baselines/reference/parserInterfaceDeclaration5.types index e1647ee05fefb..cfdab46f2adf2 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration5.types +++ b/tests/baselines/reference/parserInterfaceDeclaration5.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration5.ts === + declare interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration6.types b/tests/baselines/reference/parserInterfaceDeclaration6.types index 571a7b5d7b902..570c57cef53de 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration6.types +++ b/tests/baselines/reference/parserInterfaceDeclaration6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration6.ts === + export export interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration7.types b/tests/baselines/reference/parserInterfaceDeclaration7.types index 561bc768a53f2..ae4f497506f79 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration7.types +++ b/tests/baselines/reference/parserInterfaceDeclaration7.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration7.ts === + export interface I { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInterfaceDeclaration8.types b/tests/baselines/reference/parserInterfaceDeclaration8.types index a71031b65c099..1a794940579ef 100644 --- a/tests/baselines/reference/parserInterfaceDeclaration8.types +++ b/tests/baselines/reference/parserInterfaceDeclaration8.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration8.ts === + interface string { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.symbols b/tests/baselines/reference/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.symbols index baac5b00915ed..d611cb6e4ecc5 100644 --- a/tests/baselines/reference/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.symbols +++ b/tests/baselines/reference/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Expressions/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.ts === + new A().b() -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserKeywordsAsIdentifierName2.symbols b/tests/baselines/reference/parserKeywordsAsIdentifierName2.symbols index a5a484dd0e34f..c28da66aee952 100644 --- a/tests/baselines/reference/parserKeywordsAsIdentifierName2.symbols +++ b/tests/baselines/reference/parserKeywordsAsIdentifierName2.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/parserKeywordsAsIdentifierName2.ts === + // 'public' should be marked unusable, should complain on trailing /* -No type information for this code.a.public /* -No type information for this code. \ No newline at end of file +a.public /* diff --git a/tests/baselines/reference/parserLabeledStatement1.d.symbols b/tests/baselines/reference/parserLabeledStatement1.d.symbols index 89f096f342087..7e3d3ab07b524 100644 --- a/tests/baselines/reference/parserLabeledStatement1.d.symbols +++ b/tests/baselines/reference/parserLabeledStatement1.d.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserLabeledStatement1.d.ts === + foo: -No type information for this code. bar(); -No type information for this code. \ No newline at end of file + bar(); diff --git a/tests/baselines/reference/parserMemberAccessAfterPostfixExpression1.symbols b/tests/baselines/reference/parserMemberAccessAfterPostfixExpression1.symbols index 00828537ee27f..7a164990bdcd7 100644 --- a/tests/baselines/reference/parserMemberAccessAfterPostfixExpression1.symbols +++ b/tests/baselines/reference/parserMemberAccessAfterPostfixExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Expressions/parserMemberAccessAfterPostfixExpression1.ts === + a--.toString() -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserMissingToken1.symbols b/tests/baselines/reference/parserMissingToken1.symbols index 339f47a27532c..a4e45dc8cd591 100644 --- a/tests/baselines/reference/parserMissingToken1.symbols +++ b/tests/baselines/reference/parserMissingToken1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/MissingTokens/parserMissingToken1.ts === + a / finally -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserMissingToken2.symbols b/tests/baselines/reference/parserMissingToken2.symbols index 97c04643053c1..a36937ed0253b 100644 --- a/tests/baselines/reference/parserMissingToken2.symbols +++ b/tests/baselines/reference/parserMissingToken2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/MissingTokens/parserMissingToken2.ts === + / b; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserModuleDeclaration12.types b/tests/baselines/reference/parserModuleDeclaration12.types index c4fc1e90e38af..a006596b7b54a 100644 --- a/tests/baselines/reference/parserModuleDeclaration12.types +++ b/tests/baselines/reference/parserModuleDeclaration12.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration12.ts === + module A.string { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserModuleDeclaration2.d.types b/tests/baselines/reference/parserModuleDeclaration2.d.types index 74001e6df700f..4f4bafd3c16ba 100644 --- a/tests/baselines/reference/parserModuleDeclaration2.d.types +++ b/tests/baselines/reference/parserModuleDeclaration2.d.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration2.d.ts === + module M { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserModuleDeclaration3.d.types b/tests/baselines/reference/parserModuleDeclaration3.d.types index 4beeb0688b1e9..2f15bf6383dd2 100644 --- a/tests/baselines/reference/parserModuleDeclaration3.d.types +++ b/tests/baselines/reference/parserModuleDeclaration3.d.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration3.d.ts === + declare module M { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserModuleDeclaration3.types b/tests/baselines/reference/parserModuleDeclaration3.types index 7be9d1af3a849..3f31cf108bfe7 100644 --- a/tests/baselines/reference/parserModuleDeclaration3.types +++ b/tests/baselines/reference/parserModuleDeclaration3.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration3.ts === + declare module M { -No type information for this code. declare module M2 { -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file + declare module M2 { + } +} diff --git a/tests/baselines/reference/parserModuleDeclaration4.d.types b/tests/baselines/reference/parserModuleDeclaration4.d.types index bc92f1db1085f..e896be81d16a0 100644 --- a/tests/baselines/reference/parserModuleDeclaration4.d.types +++ b/tests/baselines/reference/parserModuleDeclaration4.d.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.d.ts === + module M { -No type information for this code. declare module M1 { -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file + declare module M1 { + } +} diff --git a/tests/baselines/reference/parserModuleDeclaration4.types b/tests/baselines/reference/parserModuleDeclaration4.types index 285796e888aeb..7ab84ea585c93 100644 --- a/tests/baselines/reference/parserModuleDeclaration4.types +++ b/tests/baselines/reference/parserModuleDeclaration4.types @@ -1,8 +1,8 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.ts === + module M { -No type information for this code. declare module M1 { -No type information for this code. module M2 { -No type information for this code. } -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file + declare module M1 { + module M2 { + } + } +} diff --git a/tests/baselines/reference/parserModuleDeclaration5.types b/tests/baselines/reference/parserModuleDeclaration5.types index 74e0d8050ff5f..59c1fc0d2ff85 100644 --- a/tests/baselines/reference/parserModuleDeclaration5.types +++ b/tests/baselines/reference/parserModuleDeclaration5.types @@ -1,8 +1,8 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration5.ts === + module M1 { -No type information for this code. declare module M2 { -No type information for this code. declare module M3 { -No type information for this code. } -No type information for this code. } -No type information for this code.} -No type information for this code. \ No newline at end of file + declare module M2 { + declare module M3 { + } + } +} diff --git a/tests/baselines/reference/parserModuleDeclaration6.types b/tests/baselines/reference/parserModuleDeclaration6.types index cb5e33d8f06a7..5e6ca55a30882 100644 --- a/tests/baselines/reference/parserModuleDeclaration6.types +++ b/tests/baselines/reference/parserModuleDeclaration6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration6.ts === + module number { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserModuleDeclaration7.types b/tests/baselines/reference/parserModuleDeclaration7.types index d47bf6541c4b0..d3b0075cabbcc 100644 --- a/tests/baselines/reference/parserModuleDeclaration7.types +++ b/tests/baselines/reference/parserModuleDeclaration7.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration7.ts === + module number.a { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserModuleDeclaration8.types b/tests/baselines/reference/parserModuleDeclaration8.types index bb88c64044b0e..b9a6c12f349e0 100644 --- a/tests/baselines/reference/parserModuleDeclaration8.types +++ b/tests/baselines/reference/parserModuleDeclaration8.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration8.ts === + module a.number { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserModuleDeclaration9.types b/tests/baselines/reference/parserModuleDeclaration9.types index 8360e451ec198..73c6443610fe5 100644 --- a/tests/baselines/reference/parserModuleDeclaration9.types +++ b/tests/baselines/reference/parserModuleDeclaration9.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration9.ts === + module a.number.b { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserNotRegex1.symbols b/tests/baselines/reference/parserNotRegex1.symbols index 9e424e1136885..36b108f4188d3 100644 --- a/tests/baselines/reference/parserNotRegex1.symbols +++ b/tests/baselines/reference/parserNotRegex1.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/parserNotRegex1.ts === + if (a.indexOf(-(4/3))) // We should not get a regex here because of the / in the comment. -No type information for this code. { -No type information for this code. return true; -No type information for this code. } -No type information for this code. \ No newline at end of file + { + return true; + } diff --git a/tests/baselines/reference/parserObjectCreation2.symbols b/tests/baselines/reference/parserObjectCreation2.symbols index d330c8f8c79a4..9362c353c8e49 100644 --- a/tests/baselines/reference/parserObjectCreation2.symbols +++ b/tests/baselines/reference/parserObjectCreation2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Expressions/parserObjectCreation2.ts === + new new Foo()() -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserObjectCreationArrayLiteral1.symbols b/tests/baselines/reference/parserObjectCreationArrayLiteral1.symbols index ad40aba3472da..df294c46cc222 100644 --- a/tests/baselines/reference/parserObjectCreationArrayLiteral1.symbols +++ b/tests/baselines/reference/parserObjectCreationArrayLiteral1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral1.ts === + new Foo[]; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserObjectCreationArrayLiteral2.symbols b/tests/baselines/reference/parserObjectCreationArrayLiteral2.symbols index cd418ac9ad5e9..2ccb962caceea 100644 --- a/tests/baselines/reference/parserObjectCreationArrayLiteral2.symbols +++ b/tests/baselines/reference/parserObjectCreationArrayLiteral2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral2.ts === + new Foo[1]; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserObjectCreationArrayLiteral3.symbols b/tests/baselines/reference/parserObjectCreationArrayLiteral3.symbols index 01e1e7ea7707b..7b094b105e61a 100644 --- a/tests/baselines/reference/parserObjectCreationArrayLiteral3.symbols +++ b/tests/baselines/reference/parserObjectCreationArrayLiteral3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral3.ts === + new Foo[](); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserObjectCreationArrayLiteral4.symbols b/tests/baselines/reference/parserObjectCreationArrayLiteral4.symbols index 6c9aae9def2db..fa385be7a1127 100644 --- a/tests/baselines/reference/parserObjectCreationArrayLiteral4.symbols +++ b/tests/baselines/reference/parserObjectCreationArrayLiteral4.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral4.ts === + new Foo[1](); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserPostfixPostfixExpression1.symbols b/tests/baselines/reference/parserPostfixPostfixExpression1.symbols index 33fa3f107d6c5..d897988e30744 100644 --- a/tests/baselines/reference/parserPostfixPostfixExpression1.symbols +++ b/tests/baselines/reference/parserPostfixPostfixExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Expressions/parserPostfixPostfixExpression1.ts === + a++ ++; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserPostfixUnaryExpression1.symbols b/tests/baselines/reference/parserPostfixUnaryExpression1.symbols index 884640a5232c5..17972aafe7010 100644 --- a/tests/baselines/reference/parserPostfixUnaryExpression1.symbols +++ b/tests/baselines/reference/parserPostfixUnaryExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Expressions/parserPostfixUnaryExpression1.ts === + foo ++ ++; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserPublicBreak1.symbols b/tests/baselines/reference/parserPublicBreak1.symbols index a84e94b00001b..d25e5e2f952e5 100644 --- a/tests/baselines/reference/parserPublicBreak1.symbols +++ b/tests/baselines/reference/parserPublicBreak1.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserPublicBreak1.ts === + public break; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parserPublicBreak1.types b/tests/baselines/reference/parserPublicBreak1.types index a84e94b00001b..d25e5e2f952e5 100644 --- a/tests/baselines/reference/parserPublicBreak1.types +++ b/tests/baselines/reference/parserPublicBreak1.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserPublicBreak1.ts === + public break; -No type information for this code. -No type information for this code. \ No newline at end of file + diff --git a/tests/baselines/reference/parserRealSource7.errors.txt b/tests/baselines/reference/parserRealSource7.errors.txt index e132e767e9819..1fde2d62dbde0 100644 --- a/tests/baselines/reference/parserRealSource7.errors.txt +++ b/tests/baselines/reference/parserRealSource7.errors.txt @@ -352,7 +352,7 @@ tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts(828,13): error T !!! error TS2304: Cannot find name 'Type'. ~~~~~~~~~~~~~~~ !!! error TS2552: Cannot find name 'TypeDeclaration'. Did you mean 'CSSStyleDeclaration'? -!!! related TS2728 /.ts/lib.dom.d.ts:3382:13: 'CSSStyleDeclaration' is declared here. +!!! related TS2728 /.ts/lib.dom.d.ts:3402:13: 'CSSStyleDeclaration' is declared here. type.extendsTypeLinks = getBaseTypeLinks(typeDecl.extendsList, type.extendsTypeLinks); type.implementsTypeLinks = getBaseTypeLinks(typeDecl.implementsList, type.implementsTypeLinks); } diff --git a/tests/baselines/reference/parserRegularExpression1.symbols b/tests/baselines/reference/parserRegularExpression1.symbols index aa65f7896d417..763703a10a618 100644 --- a/tests/baselines/reference/parserRegularExpression1.symbols +++ b/tests/baselines/reference/parserRegularExpression1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression1.ts === + return /(#?-?\d*\.\d\w*%?)|(@?#?[\w-?]+%?)/g; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpression2.symbols b/tests/baselines/reference/parserRegularExpression2.symbols index 271c6bab984e3..b0df27d7c16c4 100644 --- a/tests/baselines/reference/parserRegularExpression2.symbols +++ b/tests/baselines/reference/parserRegularExpression2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression2.ts === + href.match(/:\/\/(.[^/]+)/)[1]; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpression3.symbols b/tests/baselines/reference/parserRegularExpression3.symbols index 9ceb52a0aaae6..68906fd44ad51 100644 --- a/tests/baselines/reference/parserRegularExpression3.symbols +++ b/tests/baselines/reference/parserRegularExpression3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression3.ts === + Foo(!/(\\?|&)adurl=/); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.errors.txt b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.errors.txt index 926040527e503..2d94ae168c2f6 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.errors.txt +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.errors.txt @@ -7,6 +7,6 @@ tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpre /notregexp/a.foo(); ~~~~~~~~~ !!! error TS2552: Cannot find name 'notregexp'. Did you mean 'RegExp'? -!!! related TS2728 /.ts/lib.es5.d.ts:1049:13: 'RegExp' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1050:13: 'RegExp' is declared here. ~ !!! error TS2304: Cannot find name 'a'. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.symbols b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.symbols index d0e33cc7490d3..f7a0b957f3ec6 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.symbols +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity1.ts === + 1 -No type information for this code./notregexp/a.foo(); -No type information for this code. \ No newline at end of file +/notregexp/a.foo(); diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.errors.txt b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.errors.txt index 116f7dcc790a8..589152746a27e 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.errors.txt +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.errors.txt @@ -6,6 +6,6 @@ tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpre (1) /notregexp/a.foo(); ~~~~~~~~~ !!! error TS2552: Cannot find name 'notregexp'. Did you mean 'RegExp'? -!!! related TS2728 /.ts/lib.es5.d.ts:1049:13: 'RegExp' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1050:13: 'RegExp' is declared here. ~ !!! error TS2304: Cannot find name 'a'. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.symbols b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.symbols index 5f42afd8fc98c..1f0e3cd0f1731 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.symbols +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity2.ts === + (1) /notregexp/a.foo(); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity3.symbols b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity3.symbols index 612d19539eb25..54f0b01177e5c 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity3.symbols +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity3.ts === + if (1) /regexp/a.foo(); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.symbols b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.symbols index 63d3a1c3b7408..bf3a44dfb40f3 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.symbols +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity4.ts === + foo(/notregexp); -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity7.symbols b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity7.symbols index 24d45924e5c0c..3fc2f95327d76 100644 --- a/tests/baselines/reference/parserRegularExpressionDivideAmbiguity7.symbols +++ b/tests/baselines/reference/parserRegularExpressionDivideAmbiguity7.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity7.ts === + (a/8 -No type information for this code. ){} -No type information for this code. -No type information for this code. \ No newline at end of file + ){} + diff --git a/tests/baselines/reference/parserReturnStatement1.d.symbols b/tests/baselines/reference/parserReturnStatement1.d.symbols index 17e5e2bbf1773..0fc0260f1c138 100644 --- a/tests/baselines/reference/parserReturnStatement1.d.symbols +++ b/tests/baselines/reference/parserReturnStatement1.d.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserReturnStatement1.d.ts === + return; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserReturnStatement1.d.types b/tests/baselines/reference/parserReturnStatement1.d.types index 17e5e2bbf1773..0fc0260f1c138 100644 --- a/tests/baselines/reference/parserReturnStatement1.d.types +++ b/tests/baselines/reference/parserReturnStatement1.d.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserReturnStatement1.d.ts === + return; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserReturnStatement1.symbols b/tests/baselines/reference/parserReturnStatement1.symbols index c52b8bb407da9..45ef7704898fc 100644 --- a/tests/baselines/reference/parserReturnStatement1.symbols +++ b/tests/baselines/reference/parserReturnStatement1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement1.ts === + return; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserReturnStatement1.types b/tests/baselines/reference/parserReturnStatement1.types index c52b8bb407da9..45ef7704898fc 100644 --- a/tests/baselines/reference/parserReturnStatement1.types +++ b/tests/baselines/reference/parserReturnStatement1.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement1.ts === + return; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserReturnStatement2.symbols b/tests/baselines/reference/parserReturnStatement2.symbols index c1f72a7ce8129..3ae5d74b75760 100644 --- a/tests/baselines/reference/parserReturnStatement2.symbols +++ b/tests/baselines/reference/parserReturnStatement2.symbols @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement2.ts === { -No type information for this code. return; -No type information for this code.} -No type information for this code. \ No newline at end of file + return; +} diff --git a/tests/baselines/reference/parserReturnStatement2.types b/tests/baselines/reference/parserReturnStatement2.types index c1f72a7ce8129..3ae5d74b75760 100644 --- a/tests/baselines/reference/parserReturnStatement2.types +++ b/tests/baselines/reference/parserReturnStatement2.types @@ -1,5 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement2.ts === { -No type information for this code. return; -No type information for this code.} -No type information for this code. \ No newline at end of file + return; +} diff --git a/tests/baselines/reference/parserS7.2_A1.5_T2.errors.txt b/tests/baselines/reference/parserS7.2_A1.5_T2.errors.txt index d65f50bdb7203..462082d4e4bd6 100644 --- a/tests/baselines/reference/parserS7.2_A1.5_T2.errors.txt +++ b/tests/baselines/reference/parserS7.2_A1.5_T2.errors.txt @@ -19,7 +19,7 @@ tests/cases/conformance/parser/ecmascript5/parserS7.2_A1.5_T2.ts(20,3): error TS $ERROR('#1: eval("\\u00A0var x\\u00A0= 1\\u00A0"); x === 1. Actual: ' + (x)); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } //CHECK#2 @@ -28,7 +28,7 @@ tests/cases/conformance/parser/ecmascript5/parserS7.2_A1.5_T2.ts(20,3): error TS $ERROR('#2:  var x = 1 ; x === 1. Actual: ' + (x)); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } diff --git a/tests/baselines/reference/parserS7.3_A1.1_T2.errors.txt b/tests/baselines/reference/parserS7.3_A1.1_T2.errors.txt index 77ff67746e96a..26fe88430f8ab 100644 --- a/tests/baselines/reference/parserS7.3_A1.1_T2.errors.txt +++ b/tests/baselines/reference/parserS7.3_A1.1_T2.errors.txt @@ -21,7 +21,7 @@ tests/cases/conformance/parser/ecmascript5/parserS7.3_A1.1_T2.ts(17,3): error TS $ERROR('#1: var\\nx\\n=\\n1\\n; x === 1. Actual: ' + (x)); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/parserS7.6.1.1_A1.10.symbols b/tests/baselines/reference/parserS7.6.1.1_A1.10.symbols index 28441e36fe60e..61a8dd8dd4f8d 100644 --- a/tests/baselines/reference/parserS7.6.1.1_A1.10.symbols +++ b/tests/baselines/reference/parserS7.6.1.1_A1.10.symbols @@ -1,16 +1,16 @@ === tests/cases/conformance/parser/ecmascript5/parserS7.6.1.1_A1.10.ts === + // Copyright 2009 the Sputnik authors. All rights reserved. -No type information for this code.// This code is governed by the BSD license found in the LICENSE file. -No type information for this code. -No type information for this code./** -No type information for this code. * The "for" token can not be used as identifier -No type information for this code. * -No type information for this code. * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js -No type information for this code. * @description Checking if execution of "for=1" fails -No type information for this code. * @negative -No type information for this code. */ -No type information for this code. -No type information for this code.//for = 1; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "for" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js + * @description Checking if execution of "for=1" fails + * @negative + */ + +//for = 1; + + diff --git a/tests/baselines/reference/parserS7.6.1.1_A1.10.types b/tests/baselines/reference/parserS7.6.1.1_A1.10.types index 28441e36fe60e..61a8dd8dd4f8d 100644 --- a/tests/baselines/reference/parserS7.6.1.1_A1.10.types +++ b/tests/baselines/reference/parserS7.6.1.1_A1.10.types @@ -1,16 +1,16 @@ === tests/cases/conformance/parser/ecmascript5/parserS7.6.1.1_A1.10.ts === + // Copyright 2009 the Sputnik authors. All rights reserved. -No type information for this code.// This code is governed by the BSD license found in the LICENSE file. -No type information for this code. -No type information for this code./** -No type information for this code. * The "for" token can not be used as identifier -No type information for this code. * -No type information for this code. * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js -No type information for this code. * @description Checking if execution of "for=1" fails -No type information for this code. * @negative -No type information for this code. */ -No type information for this code. -No type information for this code.//for = 1; -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file +// This code is governed by the BSD license found in the LICENSE file. + +/** + * The "for" token can not be used as identifier + * + * @path ch07/7.6/7.6.1/7.6.1.1/S7.6.1.1_A1.10.js + * @description Checking if execution of "for=1" fails + * @negative + */ + +//for = 1; + + diff --git a/tests/baselines/reference/parserS7.6_A4.2_T1.errors.txt b/tests/baselines/reference/parserS7.6_A4.2_T1.errors.txt index f1703c9f7ef9c..6b6cc78cfa1a5 100644 --- a/tests/baselines/reference/parserS7.6_A4.2_T1.errors.txt +++ b/tests/baselines/reference/parserS7.6_A4.2_T1.errors.txt @@ -50,70 +50,70 @@ tests/cases/conformance/parser/ecmascript5/parserS7.6_A4.2_T1.ts(142,3): error T $ERROR('#А'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0411 = 1; if (Б !== 1) { $ERROR('#Б'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0412 = 1; if (В !== 1) { $ERROR('#В'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0413 = 1; if (Г !== 1) { $ERROR('#Г'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0414 = 1; if (Д !== 1) { $ERROR('#Д'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0415 = 1; if (Е !== 1) { $ERROR('#Е'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0416 = 1; if (Ж !== 1) { $ERROR('#Ж'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0417 = 1; if (З !== 1) { $ERROR('#З'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0418 = 1; if (И !== 1) { $ERROR('#И'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u0419 = 1; if (Й !== 1) { $ERROR('#Й'); ~~~~~~ !!! error TS2552: Cannot find name '$ERROR'. Did you mean 'Error'? -!!! related TS2728 /.ts/lib.es5.d.ts:1063:13: 'Error' is declared here. +!!! related TS2728 /.ts/lib.es5.d.ts:1064:13: 'Error' is declared here. } var \u041A = 1; if (К !== 1) { diff --git a/tests/baselines/reference/parserSbp_7.9_A9_T3.symbols b/tests/baselines/reference/parserSbp_7.9_A9_T3.symbols index 0d6df58ed39f3..23565ec507c9a 100644 --- a/tests/baselines/reference/parserSbp_7.9_A9_T3.symbols +++ b/tests/baselines/reference/parserSbp_7.9_A9_T3.symbols @@ -1,18 +1,18 @@ === tests/cases/conformance/parser/ecmascript5/parserSbp_7.9_A9_T3.ts === + // Copyright 2009 the Sputnik authors. All rights reserved. -No type information for this code.// This code is governed by the BSD license found in the LICENSE file. -No type information for this code. -No type information for this code./** -No type information for this code. * Check Do-While Statement for automatic semicolon insertion -No type information for this code. * -No type information for this code. * @path bestPractice/Sbp_7.9_A9_T3.js -No type information for this code. * @description Execute do { \n ; \n }while(false) true -No type information for this code. */ -No type information for this code. -No type information for this code.//CHECK#1 -No type information for this code.do { -No type information for this code. ; -No type information for this code.} while (false) true -No type information for this code. -No type information for this code. -No type information for this code. \ No newline at end of file +// This code is governed by the BSD license found in the LICENSE file. + +/** + * Check Do-While Statement for automatic semicolon insertion + * + * @path bestPractice/Sbp_7.9_A9_T3.js + * @description Execute do { \n ; \n }while(false) true + */ + +//CHECK#1 +do { + ; +} while (false) true + + diff --git a/tests/baselines/reference/parserSkippedTokens1.symbols b/tests/baselines/reference/parserSkippedTokens1.symbols index 5d3067ff63d9a..558b81991cfd4 100644 --- a/tests/baselines/reference/parserSkippedTokens1.symbols +++ b/tests/baselines/reference/parserSkippedTokens1.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens1.ts === + \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens1.types b/tests/baselines/reference/parserSkippedTokens1.types index 5d3067ff63d9a..558b81991cfd4 100644 --- a/tests/baselines/reference/parserSkippedTokens1.types +++ b/tests/baselines/reference/parserSkippedTokens1.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens1.ts === + \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens10.symbols b/tests/baselines/reference/parserSkippedTokens10.symbols index c6a472340df73..ad3d2cae88b4c 100644 --- a/tests/baselines/reference/parserSkippedTokens10.symbols +++ b/tests/baselines/reference/parserSkippedTokens10.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens10.ts === + \ -No type information for this code.\ -No type information for this code./*existing trivia*/ ; -No type information for this code. -No type information for this code. \ No newline at end of file +\ +/*existing trivia*/ ; + diff --git a/tests/baselines/reference/parserSkippedTokens10.types b/tests/baselines/reference/parserSkippedTokens10.types index c6a472340df73..ad3d2cae88b4c 100644 --- a/tests/baselines/reference/parserSkippedTokens10.types +++ b/tests/baselines/reference/parserSkippedTokens10.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens10.ts === + \ -No type information for this code.\ -No type information for this code./*existing trivia*/ ; -No type information for this code. -No type information for this code. \ No newline at end of file +\ +/*existing trivia*/ ; + diff --git a/tests/baselines/reference/parserSkippedTokens11.symbols b/tests/baselines/reference/parserSkippedTokens11.symbols index f6b22767dacc4..9fc20f657a318 100644 --- a/tests/baselines/reference/parserSkippedTokens11.symbols +++ b/tests/baselines/reference/parserSkippedTokens11.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens11.ts === + ; \ \ \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens11.types b/tests/baselines/reference/parserSkippedTokens11.types index f6b22767dacc4..9fc20f657a318 100644 --- a/tests/baselines/reference/parserSkippedTokens11.types +++ b/tests/baselines/reference/parserSkippedTokens11.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens11.ts === + ; \ \ \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens12.symbols b/tests/baselines/reference/parserSkippedTokens12.symbols index e186861446b0f..972682f0019c8 100644 --- a/tests/baselines/reference/parserSkippedTokens12.symbols +++ b/tests/baselines/reference/parserSkippedTokens12.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens12.ts === + \ \ \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens12.types b/tests/baselines/reference/parserSkippedTokens12.types index e186861446b0f..972682f0019c8 100644 --- a/tests/baselines/reference/parserSkippedTokens12.types +++ b/tests/baselines/reference/parserSkippedTokens12.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens12.ts === + \ \ \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens13.symbols b/tests/baselines/reference/parserSkippedTokens13.symbols index 393f530817d12..b03d100117a7a 100644 --- a/tests/baselines/reference/parserSkippedTokens13.symbols +++ b/tests/baselines/reference/parserSkippedTokens13.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens13.ts === + /regexp/ \ ; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens14.symbols b/tests/baselines/reference/parserSkippedTokens14.symbols index 5d012f037e474..ce318babc4ec9 100644 --- a/tests/baselines/reference/parserSkippedTokens14.symbols +++ b/tests/baselines/reference/parserSkippedTokens14.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens14.ts === + \ -No type information for this code./*existing trivia*/ -No type information for this code.\ -No type information for this code.; -No type information for this code. -No type information for this code. \ No newline at end of file +/*existing trivia*/ +\ +; + diff --git a/tests/baselines/reference/parserSkippedTokens14.types b/tests/baselines/reference/parserSkippedTokens14.types index 5d012f037e474..ce318babc4ec9 100644 --- a/tests/baselines/reference/parserSkippedTokens14.types +++ b/tests/baselines/reference/parserSkippedTokens14.types @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens14.ts === + \ -No type information for this code./*existing trivia*/ -No type information for this code.\ -No type information for this code.; -No type information for this code. -No type information for this code. \ No newline at end of file +/*existing trivia*/ +\ +; + diff --git a/tests/baselines/reference/parserSkippedTokens15.symbols b/tests/baselines/reference/parserSkippedTokens15.symbols index bba1c75e5a62f..754ac711647b5 100644 --- a/tests/baselines/reference/parserSkippedTokens15.symbols +++ b/tests/baselines/reference/parserSkippedTokens15.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens15.ts === + /*existing trivia*/ -No type information for this code.\ -No type information for this code.\ -No type information for this code.; -No type information for this code. \ No newline at end of file +\ +\ +; diff --git a/tests/baselines/reference/parserSkippedTokens15.types b/tests/baselines/reference/parserSkippedTokens15.types index bba1c75e5a62f..754ac711647b5 100644 --- a/tests/baselines/reference/parserSkippedTokens15.types +++ b/tests/baselines/reference/parserSkippedTokens15.types @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens15.ts === + /*existing trivia*/ -No type information for this code.\ -No type information for this code.\ -No type information for this code.; -No type information for this code. \ No newline at end of file +\ +\ +; diff --git a/tests/baselines/reference/parserSkippedTokens17.symbols b/tests/baselines/reference/parserSkippedTokens17.symbols index ba8bf57d861de..36404e8938e95 100644 --- a/tests/baselines/reference/parserSkippedTokens17.symbols +++ b/tests/baselines/reference/parserSkippedTokens17.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens17.ts === + foo(a, \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens18.symbols b/tests/baselines/reference/parserSkippedTokens18.symbols index 9a6dda1785725..9d95c62caa554 100644 --- a/tests/baselines/reference/parserSkippedTokens18.symbols +++ b/tests/baselines/reference/parserSkippedTokens18.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens18.ts === + foo(a \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens2.symbols b/tests/baselines/reference/parserSkippedTokens2.symbols index da06e11c608e4..9849d70b00698 100644 --- a/tests/baselines/reference/parserSkippedTokens2.symbols +++ b/tests/baselines/reference/parserSkippedTokens2.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens2.ts === + \\ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens2.types b/tests/baselines/reference/parserSkippedTokens2.types index da06e11c608e4..9849d70b00698 100644 --- a/tests/baselines/reference/parserSkippedTokens2.types +++ b/tests/baselines/reference/parserSkippedTokens2.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens2.ts === + \\ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens3.symbols b/tests/baselines/reference/parserSkippedTokens3.symbols index 2e869695f3677..9db7df9e0dabe 100644 --- a/tests/baselines/reference/parserSkippedTokens3.symbols +++ b/tests/baselines/reference/parserSkippedTokens3.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens3.ts === + \ ; \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens3.types b/tests/baselines/reference/parserSkippedTokens3.types index 2e869695f3677..9db7df9e0dabe 100644 --- a/tests/baselines/reference/parserSkippedTokens3.types +++ b/tests/baselines/reference/parserSkippedTokens3.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens3.ts === + \ ; \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens4.symbols b/tests/baselines/reference/parserSkippedTokens4.symbols index 05934fd7d57f6..2cb1c3ed572eb 100644 --- a/tests/baselines/reference/parserSkippedTokens4.symbols +++ b/tests/baselines/reference/parserSkippedTokens4.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens4.ts === + \ /regexp/; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens5.symbols b/tests/baselines/reference/parserSkippedTokens5.symbols index d56013b763868..ca4dae81fa14f 100644 --- a/tests/baselines/reference/parserSkippedTokens5.symbols +++ b/tests/baselines/reference/parserSkippedTokens5.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens5.ts === + \ /*foo*/ ; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens5.types b/tests/baselines/reference/parserSkippedTokens5.types index d56013b763868..ca4dae81fa14f 100644 --- a/tests/baselines/reference/parserSkippedTokens5.types +++ b/tests/baselines/reference/parserSkippedTokens5.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens5.ts === + \ /*foo*/ ; -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens6.symbols b/tests/baselines/reference/parserSkippedTokens6.symbols index 5510d17f4e67b..f67cd3f6747b0 100644 --- a/tests/baselines/reference/parserSkippedTokens6.symbols +++ b/tests/baselines/reference/parserSkippedTokens6.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens6.ts === + /*foo*/ \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens6.types b/tests/baselines/reference/parserSkippedTokens6.types index 5510d17f4e67b..f67cd3f6747b0 100644 --- a/tests/baselines/reference/parserSkippedTokens6.types +++ b/tests/baselines/reference/parserSkippedTokens6.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens6.ts === + /*foo*/ \ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens7.symbols b/tests/baselines/reference/parserSkippedTokens7.symbols index 50f7807483db8..a91924d100213 100644 --- a/tests/baselines/reference/parserSkippedTokens7.symbols +++ b/tests/baselines/reference/parserSkippedTokens7.symbols @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens7.ts === + /*foo*/ \ /*bar*/ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens7.types b/tests/baselines/reference/parserSkippedTokens7.types index 50f7807483db8..a91924d100213 100644 --- a/tests/baselines/reference/parserSkippedTokens7.types +++ b/tests/baselines/reference/parserSkippedTokens7.types @@ -1,3 +1,3 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens7.ts === + /*foo*/ \ /*bar*/ -No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/parserSkippedTokens8.symbols b/tests/baselines/reference/parserSkippedTokens8.symbols index cb308915ad1f0..57997738b7a18 100644 --- a/tests/baselines/reference/parserSkippedTokens8.symbols +++ b/tests/baselines/reference/parserSkippedTokens8.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens8.ts === + ; -No type information for this code./*foo*/ \ /*bar*/ -No type information for this code. \ No newline at end of file +/*foo*/ \ /*bar*/ diff --git a/tests/baselines/reference/parserSkippedTokens8.types b/tests/baselines/reference/parserSkippedTokens8.types index cb308915ad1f0..57997738b7a18 100644 --- a/tests/baselines/reference/parserSkippedTokens8.types +++ b/tests/baselines/reference/parserSkippedTokens8.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens8.ts === + ; -No type information for this code./*foo*/ \ /*bar*/ -No type information for this code. \ No newline at end of file +/*foo*/ \ /*bar*/ diff --git a/tests/baselines/reference/parserSkippedTokens9.symbols b/tests/baselines/reference/parserSkippedTokens9.symbols index be1df55a86102..08c7d0723dc8e 100644 --- a/tests/baselines/reference/parserSkippedTokens9.symbols +++ b/tests/baselines/reference/parserSkippedTokens9.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens9.ts === + ; // existing trivia -No type information for this code./*foo*/ \ /*bar*/ -No type information for this code. \ No newline at end of file +/*foo*/ \ /*bar*/ diff --git a/tests/baselines/reference/parserSkippedTokens9.types b/tests/baselines/reference/parserSkippedTokens9.types index be1df55a86102..08c7d0723dc8e 100644 --- a/tests/baselines/reference/parserSkippedTokens9.types +++ b/tests/baselines/reference/parserSkippedTokens9.types @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens9.ts === + ; // existing trivia -No type information for this code./*foo*/ \ /*bar*/ -No type information for this code. \ No newline at end of file +/*foo*/ \ /*bar*/ diff --git a/tests/baselines/reference/parserStrictMode1.symbols b/tests/baselines/reference/parserStrictMode1.symbols index cd7e01f328f81..b55c6a038d98b 100644 --- a/tests/baselines/reference/parserStrictMode1.symbols +++ b/tests/baselines/reference/parserStrictMode1.symbols @@ -1,6 +1,6 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode1.ts === + foo1(); -No type information for this code.foo1(); -No type information for this code.foo1(); -No type information for this code.static(); -No type information for this code. \ No newline at end of file +foo1(); +foo1(); +static(); diff --git a/tests/baselines/reference/parserStrictMode14.symbols b/tests/baselines/reference/parserStrictMode14.symbols index 838d4f17cc10f..684907dd3fd85 100644 --- a/tests/baselines/reference/parserStrictMode14.symbols +++ b/tests/baselines/reference/parserStrictMode14.symbols @@ -1,5 +1,5 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode14.ts === + "use strict"; -No type information for this code.with (a) { -No type information for this code.} -No type information for this code. \ No newline at end of file +with (a) { +} diff --git a/tests/baselines/reference/parserStrictMode15-negative.symbols b/tests/baselines/reference/parserStrictMode15-negative.symbols index dd16cddc2fd2d..7f95f750e9112 100644 --- a/tests/baselines/reference/parserStrictMode15-negative.symbols +++ b/tests/baselines/reference/parserStrictMode15-negative.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode15-negative.ts === + "use strict"; -No type information for this code.delete a[b]; -No type information for this code. \ No newline at end of file +delete a[b]; diff --git a/tests/baselines/reference/parserStrictMode15.symbols b/tests/baselines/reference/parserStrictMode15.symbols index 0975f90637324..b731fde7ba4bd 100644 --- a/tests/baselines/reference/parserStrictMode15.symbols +++ b/tests/baselines/reference/parserStrictMode15.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode15.ts === + "use strict"; -No type information for this code.delete a; -No type information for this code. \ No newline at end of file +delete a; diff --git a/tests/baselines/reference/parserStrictMode2.symbols b/tests/baselines/reference/parserStrictMode2.symbols index 5494058c85222..e16b734c2c510 100644 --- a/tests/baselines/reference/parserStrictMode2.symbols +++ b/tests/baselines/reference/parserStrictMode2.symbols @@ -1,7 +1,7 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode2.ts === + "use strict"; -No type information for this code.foo1(); -No type information for this code.foo1(); -No type information for this code.foo1(); -No type information for this code.static(); -No type information for this code. \ No newline at end of file +foo1(); +foo1(); +foo1(); +static(); diff --git a/tests/baselines/reference/parserStrictMode4.symbols b/tests/baselines/reference/parserStrictMode4.symbols index f56038dfb12f6..582dc9750eb00 100644 --- a/tests/baselines/reference/parserStrictMode4.symbols +++ b/tests/baselines/reference/parserStrictMode4.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode4.ts === + "use strict"; -No type information for this code.arguments = 1; -No type information for this code. \ No newline at end of file +arguments = 1; diff --git a/tests/baselines/reference/parserSwitchStatement1.d.symbols b/tests/baselines/reference/parserSwitchStatement1.d.symbols index 2d3a91abc5595..426f4f805b7b9 100644 --- a/tests/baselines/reference/parserSwitchStatement1.d.symbols +++ b/tests/baselines/reference/parserSwitchStatement1.d.symbols @@ -1,4 +1,4 @@ === tests/cases/conformance/parser/ecmascript5/Statements/parserSwitchStatement1.d.ts === + switch (foo) { -No type information for this code.} -No type information for this code. \ No newline at end of file +} diff --git a/tests/baselines/reference/parserSyntaxWalker.generated.symbols b/tests/baselines/reference/parserSyntaxWalker.generated.symbols index dde34e067469d..d8a94df025f25 100644 --- a/tests/baselines/reference/parserSyntaxWalker.generated.symbols +++ b/tests/baselines/reference/parserSyntaxWalker.generated.symbols @@ -1,281 +1,281 @@ === tests/cases/conformance/parser/ecmascript5/parserSyntaxWalker.generated.ts === + //declare module "fs" { -No type information for this code.// export class File { -No type information for this code.// constructor(filename: string); -No type information for this code.// public ReadAllText(): string; -No type information for this code.// } -No type information for this code.// export interface IFile { -No type information for this code.// [index: number]: string; -No type information for this code.// } -No type information for this code.//} -No type information for this code. -No type information for this code.//import fs = module("fs"); -No type information for this code. -No type information for this code. -No type information for this code.//module TypeScriptAllInOne { -No type information for this code.// export class Program { -No type information for this code.// static Main(...args: string[]) { -No type information for this code.// try { -No type information for this code.// var bfs = new BasicFeatures(); -No type information for this code.// var retValue: number = 0; -No type information for this code. -No type information for this code.// retValue = bfs.VARIABLES(); -No type information for this code.// if (retValue != 0) { -No type information for this code. -No type information for this code.// return 1; -No type information for this code.// } -No type information for this code. -No type information for this code.// retValue = bfs.STATEMENTS(4); -No type information for this code.// if (retValue != 0) { -No type information for this code. -No type information for this code.// return 1; -No type information for this code.// } -No type information for this code. -No type information for this code. -No type information for this code.// retValue = bfs.TYPES(); -No type information for this code.// if (retValue != 0) { -No type information for this code. -No type information for this code.// return 1; -No type information for this code.// } -No type information for this code. -No type information for this code.// retValue = bfs.OPERATOR(); -No type information for this code.// if (retValue != 0) { -No type information for this code. -No type information for this code.// return 1; -No type information for this code.// } -No type information for this code.// } -No type information for this code.// catch (e) { -No type information for this code.// console.log(e); -No type information for this code.// } -No type information for this code.// finally { -No type information for this code. -No type information for this code.// } -No type information for this code. -No type information for this code.// console.log('Done'); -No type information for this code. -No type information for this code.// return 0; -No type information for this code. -No type information for this code.// } -No type information for this code.// } -No type information for this code. -No type information for this code.// class BasicFeatures { -No type information for this code.// /// -No type information for this code.// /// Test various of variables. Including nullable,key world as variable,special format -No type information for this code.// /// -No type information for this code.// /// -No type information for this code.// public VARIABLES(): number { -No type information for this code.// var local = Number.MAX_VALUE; -No type information for this code.// var min = Number.MIN_VALUE; -No type information for this code.// var inf = Number.NEGATIVE_INFINITY; -No type information for this code.// var nan = Number.NaN; -No type information for this code.// var undef = undefined; -No type information for this code. -No type information for this code.// var п = local; -No type information for this code.// var м = local; -No type information for this code. -No type information for this code.// var local5 = null; -No type information for this code.// var local6 = local5 instanceof fs.File; -No type information for this code. -No type information for this code.// var hex = 0xBADC0DE, Hex = 0XDEADBEEF; -No type information for this code.// var float = 6.02e23, float2 = 6.02E-23 -No type information for this code.// var char = 'c', \u0066 = '\u0066', hexchar = '\x42'; -No type information for this code.// var quoted = '"', quoted2 = "'"; -No type information for this code.// var reg = /\w*/; -No type information for this code.// var objLit = { "var": number = 42, equals: function (x) { return x["var"] === 42; }, toString: () => 'objLit{42}' }; -No type information for this code.// var weekday = Weekdays.Monday; -No type information for this code. -No type information for this code.// var con = char + f + hexchar + float.toString() + float2.toString() + reg.toString() + objLit + weekday; -No type information for this code. -No type information for this code.// // -No type information for this code.// var any = 0; -No type information for this code.// var boolean = 0; -No type information for this code.// var declare = 0; -No type information for this code.// var constructor = 0; -No type information for this code.// var get = 0; -No type information for this code.// var implements = 0; -No type information for this code.// var interface = 0; -No type information for this code.// var let = 0; -No type information for this code.// var module = 0; -No type information for this code.// var number = 0; -No type information for this code.// var package = 0; -No type information for this code.// var private = 0; -No type information for this code.// var protected = 0; -No type information for this code.// var public = 0; -No type information for this code.// var set = 0; -No type information for this code.// var static = 0; -No type information for this code.// var string = 0; -No type information for this code.// var yield = 0; -No type information for this code. -No type information for this code.// var sum3 = any + boolean + declare + constructor + get + implements + interface + let + module + number + package + private + protected + public + set + static + string + yield; -No type information for this code. -No type information for this code.// return 0; -No type information for this code.// } -No type information for this code. -No type information for this code.// /// -No type information for this code.// /// Test different statements. Including if-else,swith,foreach,(un)checked,lock,using,try-catch-finally -No type information for this code.// /// -No type information for this code.// /// -No type information for this code.// /// -No type information for this code.// STATEMENTS(i: number): number { -No type information for this code.// var retVal = 0; -No type information for this code.// if (i == 1) -No type information for this code.// retVal = 1; -No type information for this code.// else -No type information for this code.// retVal = 0; -No type information for this code.// switch (i) { -No type information for this code.// case 2: -No type information for this code.// retVal = 1; -No type information for this code.// break; -No type information for this code.// case 3: -No type information for this code.// retVal = 1; -No type information for this code.// break; -No type information for this code.// default: -No type information for this code.// break; -No type information for this code.// } -No type information for this code. -No type information for this code.// for (var x in { x: 0, y: 1 }) { -No type information for this code.// } -No type information for this code. -No type information for this code.// try { -No type information for this code.// throw null; -No type information for this code.// } -No type information for this code.// catch (Exception) { -No type information for this code.// } -No type information for this code.// finally { -No type information for this code.// try { } -No type information for this code.// catch (Exception) { } -No type information for this code.// } -No type information for this code. -No type information for this code.// return retVal; -No type information for this code.// } -No type information for this code. -No type information for this code.// /// -No type information for this code.// /// Test types in ts language. Including class,struct,interface,delegate,anonymous type -No type information for this code.// /// -No type information for this code.// /// -No type information for this code.// public TYPES(): number { -No type information for this code.// var retVal = 0; -No type information for this code.// var c = new CLASS(); -No type information for this code.// var xx: IF = c; -No type information for this code.// retVal += c.Property; -No type information for this code.// retVal += c.Member(); -No type information for this code.// retVal += xx ^= Foo() ? 0 : 1; -No type information for this code. -No type information for this code.// //anonymous type -No type information for this code.// var anony = { a: new CLASS() }; -No type information for this code. -No type information for this code.// retVal += anony.a.d(); -No type information for this code. -No type information for this code.// return retVal; -No type information for this code.// } -No type information for this code. -No type information for this code. -No type information for this code.// ///// -No type information for this code.// ///// Test different operators -No type information for this code.// ///// -No type information for this code.// ///// -No type information for this code.// public OPERATOR(): number { -No type information for this code.// var a: number[] = [1, 2, 3, 4, implements , ];/*[] bug*/ // YES [] -No type information for this code.// var i = a[1];/*[]*/ -No type information for this code.// i = i + i - i * i / i % i & i | i ^ i;/*+ - * / % & | ^*/ -No type information for this code.// var b = true && false || true ^ false;/*& | ^*/ -No type information for this code.// b = !b;/*!*/ -No type information for this code.// i = ~i;/*~i*/ -No type information for this code.// b = i < (i - continue ) && (i + 1) > i;/*< && >*/ -No type information for this code.// var f = true ? 1 : 0;/*? :*/ // YES : -No type information for this code.// i++;/*++*/ -No type information for this code.// i--;/*--*/ -No type information for this code.// b = true && false || true;/*&& ||*/ -No type information for this code.// i = i << 5;/*<<*/ -No type information for this code.// i = i >> 5;/*>>*/ -No type information for this code.// var j = i; -No type information for this code.// b = i == j && i != j && i <= j && i >= j;/*= == && != <= >=*/ -No type information for this code.// i += 5.0;/*+=*/ -No type information for this code.// i -= i;/*-=*/ -No type information for this code.// i *= i;/**=*/ -No type information for this code.// if (i == 0) -No type information for this code.// i++; -No type information for this code.// i /= i;/*/=*/ -No type information for this code.// i %= i;/*%=*/ -No type information for this code.// i &= i;/*&=*/ -No type information for this code.// i |= i;/*|=*/ -No type information for this code.// i ^= i;/*^=*/ -No type information for this code.// i <<= i;/*<<=*/ -No type information for this code.// i >>= i;/*>>=*/ -No type information for this code. -No type information for this code.// if (i == 0 && !b && f == 1) -No type information for this code.// return 0; -No type information for this code.// else return 1; -No type information for this code.// } -No type information for this code. -No type information for this code.// } -No type information for this code. -No type information for this code.// interface IF { -No type information for this code.// Foo