diff --git a/.dockerignore b/.dockerignore index cf23755119c..c98d74e918d 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 8d538995500..c85649450cd 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 71b2587ccda..97525acf6ff 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 1711f8592ab..35901b12013 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 402799f89de..a9e8b576b7c 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 d0196d1e292..0294ead0b9e 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 956a4172965..bf6cb012289 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 e9bc38cbcae..806de03ae48 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 + - name: Checkout repository + uses: actions/checkout@v3 - # 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 + # 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@v1 + # 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. - # 📚 https://git.io/JvXDl + # ℹ️ 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 + # ✏️ 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 + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - 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 a26fb5b7992..265e5028bdf 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 00000000000..d6eaa9f9fc1 --- /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 fa1d0a07075..1800c36a476 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 351ea3ac8cd..8ae588d4372 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 ed039a5accd..9061c32d63b 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 1c955f59734..758faea4c7d 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 567fba84e03..982a102a648 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 2928d072348..ce15c88121d 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 a10335070b0..8054832be0a 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 53e3aaa750a..3505fc28303 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 986643e6295..18e60ff5e5c 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 cdf20ba5a24..afd10c0786d 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 5f4f365915d..46c58277988 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 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 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 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 ab79f9e91fe..74c8a3733fa 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 b696263504d..33a0f2908ca 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 53b8c929ba8..b6532d29d2c 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 3c93c04e0e4..c0f6f3a5702 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 61b1259b561..955e00658c0 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 9303e787c1e..c7a265d6c0d 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 c0806c48575..7628b831cc9 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/rest": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.4.tgz", - "integrity": "sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA==", + "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": { - "@octokit/core": "^4.0.0", - "@octokit/plugin-paginate-rest": "^4.0.0", + "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.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.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" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "encoding": "^0.1.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 1424487c9a2..384d29f05ce 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 47694286edc..00000000000 --- 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 622af7cb43d..6e96bd45897 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 fab301c6dcd..00000000000 --- 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 00000000000..5a03844b7a4 --- /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 fc237c58855..78240aa9aec 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 d7571efdaab..115cd3b3d59 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 7346607d3bf..1061f5521b2 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 e572bf9cb49..6fd152c258c 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 4dd76c1f62e..dce50403c0d 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"); +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 = 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"; +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 0e38a0b73d6..59075df3a41 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 2cc843d4578..f7bc00c897b 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 41d189f5b85..00000000000 --- 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 17d8bb3a920..9c4b83ea8f5 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 31fe5af92dd..00000000000 --- 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 9e285516d73..c2e031e5487 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 2aa38ab04c2..2b823f39299 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 7f01a43c9c3..da4c70bf460 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 1845486edc7..1d716d084b0 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 c93000e3075..d17e88be951 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 00b18b598e5..673a857912c 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 f107d234f6e..174de300562 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 2a04ae20f13..2321acbce1c 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 a91f54eeafc..2b8772005a9 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 a97673b08d3..d2d553ab3b3 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 fc41e21cd19..3701da068bb 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 1df853da6a3..16a493eaf09 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 df8ba4e34cd..717ce610f03 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 d0400507dc2..ae5961e41fc 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 b28154675b0..b411fbe6ea8 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 aef915670fe..0df73219bc8 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 18c34872059..3618329b68a 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 4cc68fd3a06..aa820094a0e 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 2e94a2b61f3..7c697af531f 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 0909e5b5868..52945d44f39 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 161755c366b..0e4d925c560 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 00000000000..44e093d48e5 --- /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 dcb434bb860..00000000000 --- 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 7654dfc9c53..3341348828e 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 a9994669e63..00000000000 --- 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 41536e63375..78e90fc9769 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 00000000000..2978fb81758 --- /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 866ed8f6bfe..00000000000 --- 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 ba529cf81bc..e9cc9bc48f2 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 abfe6a3cff9..e32ba78d037 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 bfe4886361b..70258b045f4 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 30d589c1199..00000000000 --- 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 33b5d4fd94f..00000000000 --- 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 00000000000..b60a308918d --- /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 8bce97f4e06..5402663b31b 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 314cd737771..5594fe763ef 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 337729128d2..e205db701fd 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 f0ffa2c4105..8c345c58427 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 0ddc27b06f1..cddd618d03a 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 e4e37df028e..6861f4f7d64 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 acc25914e4d..60730b77e25 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 f8c993f19e7..51c9e90e786 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 fde899dde0d..00000000000 --- 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 6f5828f0b79..910c9e5e518 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 54d4a435014..dbda203c4fd 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 2dfea45e893..77ea19706b8 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 00000000000..c9e7a56fabc --- /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 472699156bb..785bcf93f14 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; }; -} +}} FindReplaceOptions */ -function convertDocumentToMarkdown(doc: Word.Document): string { - - const columnAlignment: number[] = []; - let tableColumnCount: number; - let tableCellIndex: number; - let lastInTable: boolean; - let lastStyle: string; +/** + * @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 61777135828..c9001ed8a7d 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 20d075cdfc0..c4a19cb8e8c 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 b3dcb04c777..144804dc021 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 698f7bb2fb7..870892d8640 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 7a8f3192d91..e3a6098e35b 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 26be7e95ef2..a2eb7a2d0bb 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 85a12581965..36063fadd55 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 27b2b75e9c7..713df9c8678 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 222d1dee63f..f30c2a63a6c 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 32640fcb815..2327f8924b8 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 bd85362d904..3b242daf5cc 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 732a1114229..6f3cdf1749d 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 5eb410eb318..a6053f71ff6 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 76d4cf2d65e..7c4a0ce8177 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 bcc37fcd5a8..b9e6540291f 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 9e3ef1b753b..7feb0c09c82 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 78d9f57ccdc..001f93551b4 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 aa1f4a5e6c4..abb2e5965cc 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 ee19c12c9ae..abcec891dde 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 9b3b8e6ee12..fbab915e871 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 66e55ab58b3..6d16371717e 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 cdc0db9407b..0571a9c92df 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 26c6deb9a25..011a24f5b71 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 3078554f61b..013ac51ef0a 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 72ceb827adf..6f88629f8e3 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 52acb7d347e..12fe11fb1a8 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 87148c13492..dd957c50d65 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 d8a30e66580..f5979f9c387 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 c7cbb8d3ec8..00000000000 --- 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 2f5b33f9e7f..00000000000 --- 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 fd0d7a12b2e..7a106f03148 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 24821565a9d..6ba7a965f0b 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 8911baa9bb9..f27dc688500 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 36c4e4fff24..f224b095ba4 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 a7c18fc9365..07cdbdc12a2 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 OffscreenCanvas extends EventTarget { +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 9c0d3279433..e088de1956d 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 491a5205e38..10158c5a673 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 5ac938db518..052c89527e7 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 6dfde4fe463..5662c6c06c2 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 9a49e6a0153..b4b100d057a 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 72639b61e4d..3b7e833f5d1 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 b483ab9f285..e38f7afba52 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 92308dd71b9..1ae0ae5f285 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 1ea8603b279..1c1c8f2b9c5 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 31ea3324ef7..bf30af5f1d1 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 9a2deda2f7e..8ed5005ebc7 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 f087c0e7a39..58ec60b3c83 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 8d729d75728..d226d274a4b 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 6a657a04999..0144a1042db 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 4a0939cfc41..00000000000 --- 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 05e6442a84c..14c98583bd6 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(), "../../.."), - ]; + // 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; - 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; + // 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 e78d2262b5b..e4d4a2e2d62 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 7f7940ae8b3..8e63f93556d 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 a03d355b098..9020b9791df 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 2542a073234..69cd8d0a8ae 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 00000000000..5eb3a0e81d3 --- /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 bff90e2d3e7..9bdc38195da 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 56ad87770ba..4eeaf1b7058 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 85e67eb8cbb..07724be25ba 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 40cac0a916d..0ed8284b5df 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 257531c14e8..a8d4c1a4e03 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 d1cd6c517f8..2928d604acd 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 b0071f71240..66e4a621793 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 d5c384e9161..f891891deb7 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 67435b47354..9f3a0521144 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 b01218a95ba..1b9c9e04c8c 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 975e36b1dd4..618a2747669 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 87b5e16f29d..6ba2243b750 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 59f22c8a9fb..23f15afe8f8 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 2237163ebb2..2099fe308c9 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 915b7b71c83..3b63a68a5d3 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 4d24e57d051..76d63dd114e 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 d9c49e7ca21..6c11b5a2899 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 0f7ee625094..2e930a68ef2 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 e2b48977106..4b4c200d499 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); - } + 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("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: {} - }); - }); - - 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", + }); + verifyNullNonIncludedOption({ + subScenario: "option of type string", + type: () => "string", + nonNullValue: "hello" }); - describe("option of type string", () => { - verifyNullNonIncludedOption({ - type: () => "string", - nonNullValue: "hello" - }); + verifyNullNonIncludedOption({ + subScenario: "option of type number", + type: () => "number", + nonNullValue: "10" }); - describe("option of type number", () => { - verifyNullNonIncludedOption({ - 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 68c56ac4e17..d92c906f461 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 f8905e34126..530d3c7e569 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 120dd42d2c5..a8179558baa 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)); + it("with json source file api", () => { + const baseline: string[] = []; + for (const { json, additionalFiles, existingWatchOptions, } of scenario()) { + addToBaseLine(baseline, json, getParsedCommandJsonNode(json, additionalFiles, existingWatchOptions)); } - else { - assert.equal(0, length(expectedErrors?.(parsed.options.configFile)), `Expected no errors`); - } - } + 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(() => [{ + verifyWatchOptions("no watchOptions specified option", () => [{ + json: {}, + }]); + + verifyWatchOptions("empty watchOptions specified option", () => [{ + json: { watchOptions: {} }, + }]); + + verifyWatchOptions("when extending config file without watchOptions", () => [ + { + json: { + extends: "./base.json", + watchOptions: { watchFile: "UseFsEvents" } + }, + additionalFiles: { "/base.json": "{}" } + }, + { + json: { extends: "./base.json", }, + additionalFiles: { "/base.json": "{}" } + } + ]); + + verifyWatchOptions("when extending config file with watchOptions", () => [ + { + json: { + extends: "./base.json", + watchOptions: { + watchFile: "UseFsEvents", + } + }, + additionalFiles: { + "/base.json": JSON.stringify({ + watchOptions: { + watchFile: "UseFsEventsOnParentDirectory", + watchDirectory: "FixedPollingInterval" + } + }) + } + }, + { + json: { + extends: "./base.json", + }, + additionalFiles: { + "/base.json": JSON.stringify({ + watchOptions: { + watchFile: "UseFsEventsOnParentDirectory", + watchDirectory: "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: {}, - expectedOptions: undefined - }]); - }); - - describe("empty watchOptions specified option", () => { - verifyWatchOptions(() => [{ - json: { watchOptions: {} }, - expectedOptions: undefined - }]); - }); - - 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": "{}" } - } - ]); - }); - - 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" - } - }) - } - } - ]); - }); - }); - - 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 - } - ] - }, - { - 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 - } - ] - }, - ]); - }); - - 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 } - }, - ]); - }); + }, + ]); }); } diff --git a/src/testRunner/unittests/evaluation/forAwaitOf.ts b/src/testRunner/unittests/evaluation/forAwaitOf.ts index c7be018cbc9..c541d155bfc 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 00000000000..e97dff75dde --- /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 2e6a61fbad8..272704c8d03 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 a6369d6e4d4..a0ff91a26b1 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 f5ad6421362..b3fdbf50898 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 8eb0ea3bd85..48a5464d59e 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 81d22823e0b..16e91db1342 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 97c9bd7d5e4..7352e57b7c5 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 a17f857024f..c71b22c2709 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 95cacc1e7d0..45dd1ff7143 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 3524e69206d..efe430930b1 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 4244671e756..7e1f9cc8de4 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 82b4946e42c..a51a5587321 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 5d46dd203f9..0db19f7478b 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 0bfc5f58719..47e3ff6bfb1 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 e675f2ec4eb..5c9ad996f7f 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 63bfa4965e5..3961a1367ea 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 75444a614f9..56286921e77 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 b19bc06d1e6..3dfec01fc8f 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 50288c1237e..4763a597362 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 65e03d339e6..185a346d3ab 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 e9dc119417c..422ac5c188a 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 db25c1bd1dd..12f2f4ca12b 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 d86eb60e677..a66fb1cc3ff 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 4375eaa3ffb..84b8619920f 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 4375eaa3ffb..84b8619920f 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 465a644f7bf..e35b3e24193 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 a9e08759565..213c2e2f809 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 df8d6f12cac..727db5b1be9 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 d2803e79101..f9976273ddc 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 feaeb047073..d4116fb8da4 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 183f9495caa..c5568581597 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 183f9495caa..c5568581597 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 8d18e77c1a3..38718bf93ac 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 34772327eae..77aeecec718 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 9ca9f6cc899..dbbcab643bd 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 99510808bd7..1b0a184455c 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 c01128e880c..4fd0a7b2564 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 758acfdfece..06aea6e9178 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 63cb28ea7d6..864ac1e6335 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 8c171dbfcea..fa9e5407b78 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 769ec5574c1..af6bdfccb99 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 e153d2fa233..1848fcb9fe5 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 b3e6b79cd3e..dec36cea65f 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 21e18cc978a..c779d47eadb 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 3aa3ddcec3d..992dc6af171 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 e3e6c9742fd..743552275ef 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 b7778168f33..57117df986e 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 b7778168f33..57117df986e 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 e74f41088d7..1263951a0a2 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 e74f41088d7..1263951a0a2 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 a865de3bb91..16e79f7bf4d 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 a865de3bb91..16e79f7bf4d 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 6bc9e18ed56..73f8025c8a5 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 6bc9e18ed56..73f8025c8a5 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 575116ceed5..90dd9ed780f 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 0e6b2559af0..54e4c654e35 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 690ff3500c8..25113f14b7c 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 355d27f2a43..bad37b8f92c 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 5b3f0145377..421e593f00e 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 da206e8577b..0e4edaa631c 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 da206e8577b..0e4edaa631c 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 00000000000..618e433f9d5 --- /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 00000000000..ea4fa4af617 --- /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 00000000000..82610d9ca68 --- /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 00000000000..a56f26f60f9 --- /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 00000000000..ca06e3db686 --- /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 00000000000..ffceb8e9198 --- /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 e6db879f441..dee3f0d7928 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 e6db879f441..dee3f0d7928 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 a16ce36e840..a9d236abf5a 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 ec3837911de..669af6e09ee 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 6a6433e85c6..0be5df06a9d 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 430210cbdbc..6a17af94903 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 887484e933a..ac72fcd05fe 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 00000000000..9405b3f2bb5 --- /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 00000000000..2e9988be963 --- /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 00000000000..1559dda5bf4 --- /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 3a6da56c993..9b8b83f93ee 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 055a751f523..1ea24341d04 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 b92065950fb..190d930a1ad 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 79a1ea3f13f..aaaf4a95491 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 804a7103d18..cc1913e891b 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 3990cb71883..34e5f482911 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 a5f216d221a..514fc52f4ef 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 59c844fa7de..ca3c70f0480 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 5dcc642146a..a2d5bf49b89 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 6d9544051c0..0f59174940c 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 7772b353b8e..f4143cb7a38 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 392a4456cc2..2dd73b8b6c7 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 fe7d9fe2e2d..938f4c8d600 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 240c3bbaaba..e7612bb0801 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 f51d09abcdd..9e3cf7d21d4 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 f51d09abcdd..9e3cf7d21d4 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 eb59846f9e0..5298d7c054b 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 6a2bae2c2c4..e84431fd426 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 0f8928a664d..b96d749f813 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 5676b2deccd..471cacd257a 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 5676b2deccd..471cacd257a 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 2537ee25771..ece7e82bfc0 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 2537ee25771..ece7e82bfc0 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 eda3b1cac35..dcb8860c5b7 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 6357695785b..4738e1530eb 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 580706bbd4a..b00f075c119 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 aba35ddcfdf..32aaf357e3d 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 2c5ebfae3f7..77dc493eba3 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 990b6ebebf7..cb3a43c9999 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 eacdf182367..d9aee2d8956 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 86d35bedad4..0af321306cd 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 bda09fa653e..2b601e10df6 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 bda09fa653e..2b601e10df6 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 9510ed2a12b..22b10b5d517 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 cff18cf8d25..0ebe0b11b28 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 d9ea314fe9d..b24c0e9142a 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 ffd32162e1e..e8bbda7ca55 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 75b977df812..c57b4851ad9 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 71bb88a7712..440d26570b5 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 587a72b7be6..65ff8447594 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 587a72b7be6..65ff8447594 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 6c03e888013..fd98f27eaa3 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 c4fa3d07234..5821997d0d7 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 d1e45fe4f0c..c8e03908a2c 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 81f346f9044..9a0dcdbdeba 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 dd863ba7de7..d5e1b4274e3 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 2e9febf3037..eda30a44f9e 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 be50e619090..d605d9fc7c8 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 7d7d4a27d32..09cc754f12c 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 2b3e3d3f0ab..a05c9da890b 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 5af39080f18..b6511813da4 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 69d14640789..d0440849630 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 fd198db1871..f0d2fe31eef 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 89841014005..809e4da581f 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 dbe4881fafa..aac352a8d68 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 58d45470ca5..38209755af3 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 cc1fa728c4a..dfab3850516 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 7b9e14b8a1d..edc27375332 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 c09a435f1a7..55e701dbbd8 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 00000000000..a0e56a3dd66 --- /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 00000000000..482900c650c --- /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 00000000000..f2d380552d8 --- /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 0d3fe39d755..7f560b27e94 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 00000000000..ff703f25ce7 --- /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 00000000000..a5f665c196d --- /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 00000000000..754283ce029 --- /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 00000000000..841b0dfbb57 --- /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 00000000000..e647a4a039c --- /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 00000000000..42aae4de856 --- /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 00000000000..0dbec2c7666 --- /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 00000000000..e29895636f6 --- /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 00000000000..d385a51f732 --- /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 00000000000..35f0a639f9c --- /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 00000000000..89d564b19aa --- /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 00000000000..212cae1eb63 --- /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 00000000000..d62c5f98e04 --- /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 00000000000..1fd285ef975 --- /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 00000000000..5b065234cf1 --- /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 00000000000..62a74a7a9d2 --- /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 00000000000..1f881f80f8a --- /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 00000000000..91cebea73a3 --- /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 00000000000..8b3e814d4f1 --- /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 00000000000..1ddf67e0c54 --- /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 00000000000..36e1149f473 --- /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 00000000000..b758998ce16 --- /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 00000000000..9e7bb151eac --- /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 00000000000..d7e2490b18f --- /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 00000000000..cd9c9e4957d --- /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 00000000000..db535ca00f9 --- /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 00000000000..a4a41ae1260 --- /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 00000000000..d3f0a03b606 --- /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 00000000000..6eac0259505 --- /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 00000000000..fb361238364 --- /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 00000000000..cd6c862f132 --- /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 00000000000..35926083139 --- /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 00000000000..a21dc499ae4 --- /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 00000000000..dd8cca535a4 --- /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 00000000000..635303d8967 --- /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 00000000000..b278bb62605 --- /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 00000000000..06df71f899e --- /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 00000000000..b3c7bea3fd5 --- /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 00000000000..6dd0ef5b372 --- /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 00000000000..fe6bf903acf --- /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 00000000000..02be8361d61 --- /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 00000000000..f170c944b91 --- /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 00000000000..085396bb590 --- /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 00000000000..f030755d829 --- /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 00000000000..7b0c75eb519 --- /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 00000000000..fbe68473c5a --- /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 00000000000..83588c628de --- /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 00000000000..0ccf34a297a --- /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 00000000000..5c75a44457e --- /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 00000000000..7c257fe64a8 --- /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 00000000000..7ecdc431d69 --- /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 00000000000..6955df27f9c --- /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 00000000000..996e097ab41 --- /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 00000000000..c37d4e51470 --- /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 00000000000..e6a3e96e4c3 --- /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 00000000000..1da840835c1 --- /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 00000000000..3cd02971c41 --- /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 00000000000..66cf451885b --- /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 00000000000..21b489264bf --- /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 00000000000..6ad60c46173 --- /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 00000000000..996e097ab41 --- /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 00000000000..c37d4e51470 --- /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 00000000000..e6a3e96e4c3 --- /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 00000000000..240c1b2bff0 --- /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 00000000000..ee407a28059 --- /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 00000000000..f7fe0fb368e --- /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 00000000000..f0e5be51c62 --- /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 00000000000..996e097ab41 --- /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 00000000000..c37d4e51470 --- /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 00000000000..e6a3e96e4c3 --- /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 00000000000..0af5f2676a8 --- /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 00000000000..4c27ef1ace0 --- /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 00000000000..0ec40cbf6a3 --- /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 00000000000..33808943327 --- /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 00000000000..d2abf3408a1 --- /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 00000000000..c8dbf2744c9 --- /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 00000000000..2abe1bcc152 --- /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 00000000000..f2ac41de85c --- /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 00000000000..6869e6d47b0 --- /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 00000000000..cc94977b4a1 --- /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 00000000000..c335b45b794 --- /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 00000000000..2087b9e744a --- /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 00000000000..a25c30df65e --- /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 00000000000..b37ccbed5fd --- /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 00000000000..4c0e952e8ea --- /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 00000000000..8d535837e9f --- /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 00000000000..3cef381ecb2 --- /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 00000000000..919753d60db --- /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 00000000000..9e02dd51739 --- /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 00000000000..24140819764 --- /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 00000000000..476bc99e4d8 --- /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 a742ee232fb..65ebbe6f83e 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 00000000000..81e0123470e --- /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 00000000000..b98593ef5bd --- /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 210de69f6bb..53b60db70d7 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 5cb4b62f39a..7d7087917fc 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 f4df3a295fb..3af59882ccc 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 f4df3a295fb..3af59882ccc 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 97fbe3a3d85..e971bae84bd 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 97fbe3a3d85..e971bae84bd 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 caca2c99516..9a4823d1289 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 51b8189ab16..1a6a721df32 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 fbd968e19a6..6ef0d21b4c8 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 16f45c402cd..2b1bde22a72 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 a1b930f2f5a..16bcc76d8f3 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 ea1989a3e4d..c199bdb2ca0 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 d7ce4011582..8f0de7b52a6 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 00000000000..dbc664da588 --- /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 00000000000..a64aba170d6 --- /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 00000000000..c41f27f9ef6 --- /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 00000000000..2cf5b8d5ec3 --- /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 48075ffb6b4..030242954aa 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 00000000000..843b6939b25 --- /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 00000000000..f664c9db2b9 --- /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 00000000000..8c64c50a327 --- /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 81a91ba06fd..5cfa948d9bf 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 8f86cf3dc8c..c0f86795a1c 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 631d3ac1b5d..3ce1e303d0e 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 2161bb9afc1..0d38abc11b0 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 3c89d94b043..33066bd8b0c 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 9c9aee08433..94c902c5ce7 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 baa1d95cce7..bb1a545b9fa 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 a0218c7fe7f..46ddc25957b 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 b82e6cfb923..ec4504822ff 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 b82e6cfb923..ec4504822ff 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 8043af36b76..a1d2319a0f5 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 2ede4a5941a..7ea8116331a 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 a45ecb2e47e..c104564adf2 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 a45ecb2e47e..c104564adf2 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 a45ecb2e47e..c104564adf2 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 a45ecb2e47e..c104564adf2 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 87304e8e84f..a3c98684b4c 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 c3232b4406e..77105a8482e 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 a81c2cc3871..13b1d85f897 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 fa0a8593339..f5a8d98c03e 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 3f62193fd83..b42d42019b4 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 e183f07d558..65ed820d836 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 7c214ced6b6..a52f51708ab 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 269d4566011..bd0d20458a3 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 f10376c24b0..0ac83048dd2 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 4006ea88a86..b02947b32c8 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 0ed089b529a..3a90e76d07f 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 683969e356f..c8a7ebb9ed1 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 e52c244ccc5..41d8eaf175b 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 df33b515a8d..231f147baa7 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 06272b7baa9..46bc272376a 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 0c31c9dac29..c788eb14778 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 bdb395713f9..c35460a8c07 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 2adf58de84b..e73c3f26792 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 0b7de9ee8e4..449ff0aaacb 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 3f893a65b82..c8f9fd6b305 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 7a6ff666f62..20d9a290c04 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 8bb622be4f5..5628b4fe0d2 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 e57fc793920..bdfbd17064f 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 5e3ebab68db..0463aebec49 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 5e3ebab68db..0463aebec49 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 764d60305d5..8bc06d56b18 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 cecca7f6afc..6f9d77aca1a 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 55e6db38012..ecd606e8d59 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 768c567f271..ad5d3295309 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 768c567f271..ad5d3295309 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 616d90761c6..0f169e7e9e7 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 6744a94cd71..e5537c8f822 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 5849a3b5cb0..c029a0a9d33 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 6f978e28e78..921d8348e0f 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 6f978e28e78..921d8348e0f 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 81436a6e510..7cf2c8ab5e5 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 81436a6e510..7cf2c8ab5e5 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 3d23b048336..674c54133c9 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 a7fb7df8d13..19f8200722c 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 c671abcef35..16adbf6f93a 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 b54aa648ebc..c34d35766c1 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 00000000000..60c4a9f3d1f --- /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 00000000000..0ce2c94fdd3 --- /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 00000000000..20443b78f92 --- /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 bbbc9794af7..d28e9be5776 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 04e8f4a103a..8371e278840 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 04e8f4a103a..8371e278840 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 b2615eac81b..ae9dc4ee722 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 b2615eac81b..ae9dc4ee722 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 9a86abe3f9a..b9fad1ac251 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 ac0f8852d2a..e6d2aa5e74d 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 0cafc5a2d88..0ecd6008916 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 ba9e6b4180e..40fd03ca101 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 bd1280df237..e671326c3d3 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 138c729aa29..a3f89f6d244 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 a651bbbb92c..7281878c798 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 e7ab46bccc5..d1abbe9a924 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 5b182d16d5c..d8bf8898381 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 e699404332f..4d1c332ace5 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 496fbbb807d..81a00a3f31f 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 496fbbb807d..81a00a3f31f 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 5c7f48cfb49..23c5e2bae8d 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 5c7f48cfb49..23c5e2bae8d 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 95478466b8a..7e5aca97446 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 95478466b8a..7e5aca97446 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 ed48b01cbbf..5e4dc96b267 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 fc4ae50c6f8..b43129f3937 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 aca384d5842..49d0978cf98 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 805e4d4a4c7..cea62e7a1b9 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 ec6bfbb97e1..5de03d4d96c 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 06370f1a0d7..7deffab18ad 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 c36026685dd..42ee6b7fb32 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 c36026685dd..42ee6b7fb32 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 56991d9a003..feb787a3fbb 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 781027fc18a..66e610086b2 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 65b2419bac9..20cd05cc6e1 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 133d9b73dd4..e50554c27fb 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 133d9b73dd4..e50554c27fb 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 d0890d99e3d..79ef15e5e3b 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 8b0f0b893a5..49708655762 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 2a2ad20f22f..483016ca5dc 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 80c718a6a39..8cc8441c6fd 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 b5d3549a1f6..5d0dd6c541d 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 4021dbdc49a..e930f222876 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 4021dbdc49a..e930f222876 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 045f7a9d831..d104016d1f1 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 4298fc77724..f5d3d294edf 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 bf017cb2fc0..a76dcddb2f8 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 b1701aa7208..b4e993576ba 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 02eacf11b25..e585b4b1d8e 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 e520bede4d8..eda46cf1d88 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 554d7ad4620..5d3b78b9aa5 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 f038a8543f6..52da8a1d94f 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 786c1ebbd54..22dbb1b0d84 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 0c200f3b5ad..5d78c422398 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 5851ad03565..d6e5524e95e 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 00000000000..96eea203d5f --- /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 00000000000..89a043ec4a2 --- /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 00000000000..a3d1cac8a9e --- /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 00000000000..16051e20461 --- /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 7a5efc0e857..cddd3ccbb6b 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 0c1e7c3611d..7afebe9c7d4 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 e457fd8a209..cb0a536030b 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 82c66c3c11d..da24c44bc1a 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 82c66c3c11d..da24c44bc1a 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 e3796ccf685..5cd8dec7e54 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 510ccc29468..9bfc1dd0b7f 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 ac2034bcf53..24663e9de87 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 a3a94331a56..6de3f2678c4 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 482611413b7..92795aaae6c 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 154e097eac3..3af24d5be7d 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 154e097eac3..3af24d5be7d 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 936da57c0f6..3fcfaa23f21 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 936da57c0f6..3fcfaa23f21 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 90bc4a7b177..f4e740ff2aa 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 b2291da3a9b..505776b2f60 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 bad38b845bb..7f79a1571a7 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 ff3e74a3fbe..0b0f5445a39 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 b3212c06df3..23764095900 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 17a88aadaaa..d816e106e38 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 860bb80b877..7e4d3712c41 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 457e238dcad..d1a496dad80 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 3472ce6c565..54364cd6efe 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 eb83726ae39..9ec71065d0b 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 b559d4007a9..3cc365f8e2d 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 ed6f4befbb2..39d1c1ed124 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 b559d4007a9..3cc365f8e2d 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 ed6f4befbb2..39d1c1ed124 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 5d920a1dd80..7ae2bd51187 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 1486e5451a3..17cc780eac2 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 4865183ebc8..359877ca375 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 6dfbc067c2e..79e0cbca78f 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 6127765014a..e194fd30004 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 6dfbc067c2e..79e0cbca78f 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 6127765014a..e194fd30004 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 6dfbc067c2e..79e0cbca78f 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 6127765014a..e194fd30004 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 fc389fc91b1..63daa63dfd2 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 68462606210..742773abec4 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 134443d52d2..2edbcc5ad60 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 5a7e6f6601e..caf80fe6118 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 67bcad5eeb6..bf3b8905018 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 00000000000..5cfaa3f509c --- /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 e23c0705846..0c1fd96d2dd 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 00000000000..3e57419215c --- /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 00000000000..999ca147ac7 --- /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 00000000000..9b35a11dc42 --- /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 00000000000..011c8b4d995 --- /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 00000000000..e5fff8879ef --- /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 00000000000..357408d93bd --- /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 00000000000..35c7395979c --- /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 00000000000..0e11eb75399 --- /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 00000000000..c0d563564cd --- /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 00000000000..478011afea4 --- /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 a04e40bdfba..96f2409a484 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 c54b9367c4c..66cb294d064 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 a7d0c5feef9..e40a9e9ac42 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 ffdff2f6fb0..0ecf91dab65 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 664ec54ac4a..d2281716810 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 664ec54ac4a..d2281716810 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 e40e9ffbd62..c4d58cd0805 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 9dc9b34b1e1..777f8fc651c 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 e4cc24387bc..2c4fa8bb5cc 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 e679da93b59..f6ebad67764 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 00bc55b4389..696b44e012e 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 1f95edc3aaf..59bb76e9ac2 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 bc577e5c981..a7e9ef33ee0 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 c960312db29..893a1ebb6d3 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 154e2f0a5e9..89e42ee7f63 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 61b47759581..0a502e5e289 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 cd8d7d38041..21c17056047 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 b590130d1cf..d35342ec30c 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 cd8d7d38041..21c17056047 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 b590130d1cf..d35342ec30c 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 cd8d7d38041..21c17056047 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 b590130d1cf..d35342ec30c 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 ffc42963975..3200a5831d9 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 5b6abef5e0e..f099c9bc5fc 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 104a01b5bd9..a29cbe396f1 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 c0b888df2fb..7d52515fd23 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 ca63503edfe..d9157542350 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 379522a845d..81d288e92ad 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 3c47766522a..619b9b105a5 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 ca63503edfe..d9157542350 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 379522a845d..81d288e92ad 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 60861b7aca7..62dc40ce6ac 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 33d3d608e14..812cf0aa1c6 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 67e2eabd6fd..a5d4040f3f3 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 1e23832e305..dd40cab13b9 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 708025a5d3a..3029a6b53f2 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 b7db3e18d22..b3d787c94a5 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 5e2ace1c401..ab2785a63d2 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 954e38a8581..cab811b2000 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 2f8af5e09db..c5ae59d9214 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 00000000000..2d3b712f872 --- /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 00000000000..3e63187bcc3 --- /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 00000000000..c8d5232899a --- /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 00000000000..6348e869642 --- /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 00000000000..ed9a318447a --- /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 00000000000..310c072f3e9 --- /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 00000000000..69aa6233ab6 --- /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 ea0425ff26c..c3c7f961b3b 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 ea0425ff26c..c3c7f961b3b 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 109ef656549..fc5b4384670 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 f749a5bc3a1..27d8bb5e017 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 c8ce0371092..7651a0e6a93 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 da4e9fb704d..0e50295a220 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 2fbafd88921..4ff41dd59ff 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 fcb8f6214dd..77cf274cd73 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 96341fc8c39..10dcfba7d3b 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 867143d0991..f7384f52c56 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 c6bc5cf86f3..f2728bb75ae 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 724ad5b3aca..7cdf12ba8fe 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 724ad5b3aca..7cdf12ba8fe 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 e68407acd99..2be9428dee7 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 d6956acb15e..973c8ca3d7e 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 7ca8de617e0..28e54d59dae 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 b668b5e5fe2..daf301bdc85 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 28fcb0ff1d9..4cd9d40aec3 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 99acfb8041e..e3d06b246c1 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 6feabe9f5c6..009acf38c2b 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 08e5a870d5a..d254218557f 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 33ff5a5749f..c7ad966debf 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) { } } -// Repro from #50639 +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)) -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)) + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 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; // A & object & Record<"prop", unknown> ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) + 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, 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, 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, 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 e8e414520d3..71020671262 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 dbae773cac1..1f11114fbd0 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 b2a0d92f7b1..9acc8ca7520 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 33ff5a5749f..c7ad966debf 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) { } } -// Repro from #50639 +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)) -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)) + if ("a" in x) { +>x : Symbol(x, Decl(inKeywordTypeguard.ts, 272, 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; // A & object & Record<"prop", unknown> ->value : Symbol(value, Decl(inKeywordTypeguard.ts, 274, 16)) + 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, 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, 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, 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 8ec2b47df07..86da8b3e869 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 7ab1bd72cd7..99357ae2605 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 7ab1bd72cd7..99357ae2605 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 9945b1306fc..70778a36892 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 deac9b331d1..3e2285060d6 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 6093404bcdf..dabb7136d2d 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 f0e3469d975..9461628ab3a 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 ff4f1fed812..59b4e332379 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 7cb08ebfb25..7158ee012b9 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 6972e06169d..fc28f024e45 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 9ce78b8e2b8..25b4c1ecb8c 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 d17e37284c1..b0542696834 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 9a2fc08f4a8..827cbcfaf5a 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 a17a2a7dee2..afebca7775a 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 4472c30f76d..f0e72377631 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 df6bd8a3119..c500cb2a241 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 ed7eaf3592f..34005a9bce7 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 38ab78bf498..5e8371bb8e2 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 4f68c5ded89..b083d9914d7 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 39ef3fa478d..34ba5a1cc59 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 39ef3fa478d..34ba5a1cc59 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 6282706d3aa..4766d809cfb 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 d2bbd4ef0bc..b95c3ce3fc1 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 4436c83d40e..1ed448d7743 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 df45a2a221c..e9066661160 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 4232aa53158..3c29068a6cf 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 910f991ef40..836f90c72db 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 a8795f892f2..1cac8209c79 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 c4035e7ec82..2fda7f6daac 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 28424f9792b..7c29ca32963 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 eb0d5dd3173..251ca37b6c1 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 a9e5e74f004..4a2a0d92c9e 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 da2182e01c4..ca1782da9ac 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 da2182e01c4..ca1782da9ac 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 9cc51eb2bbb..e013276a003 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 52baff824a0..bd9091bd6ff 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 120d2537789..299162da194 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 14b240e90c0..b38acb84abb 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 8051c144dc3..955773e988c 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 203de806413..087bf14ba63 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 037d655ccf0..39b8f917e05 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 f3b60c506fa..a6d16d39809 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 821818f7636..5dbbe5bbebc 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 1edf4359909..5659b707b05 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 42dabbcfc69..c2378f55548 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 cbf6140ee7d..cb95ce14319 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 756c4657c6f..197c36cf68d 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 756c4657c6f..197c36cf68d 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 6aaeda1b4b5..be47b8f23c7 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 c4ea68d18a8..7342f4eff24 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 59ccd79b7be..a390a960500 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 4a5c208a849..fe669f05fe2 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 113c7a46a5d..d5f2b14cb8a 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 7bb2a45c15d..d89056abc07 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 b5e2de25fcd..b3363ce0ef4 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 0d0e7b9ccfd..bb9e965e79d 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 0d0e7b9ccfd..bb9e965e79d 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 a18db585da9..f0a766c5adb 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 a18db585da9..f0a766c5adb 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 552c6ff0be6..7eff19bdffc 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 552c6ff0be6..7eff19bdffc 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 a18db585da9..f0a766c5adb 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 a18db585da9..f0a766c5adb 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 470abce502c..c70c94f8fef 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 14632b2b28d..0595af51426 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 a4d9ac6d90b..964e9069815 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 b0aa8503417..b9ad515a500 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 2bed52247c0..842c2402753 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 2bed52247c0..842c2402753 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 0b2733c2265..7c619894b6c 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 0b2733c2265..7c619894b6c 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 dce0e21d6a3..4920433c469 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 73bd9f87814..073d0e55745 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 37a0e267d00..4f974f56edc 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 329ad50995f..ed03a349255 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 111d9cc21f5..d8a11c3aaa7 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 8b80dc87157..0bdf269f634 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 60ccaab89d2..42bbed6fb52 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 bbb3062d98b..7c048d5f97c 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 e09f4bca9e2..f3d38860e39 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 921ab984397..ef25c54b5c2 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 de951157933..31ee234f7da 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 0a62683b1fb..6129281d683 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 4523d9a9ade..d8a6111c845 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 c40babde0a3..4817edf2861 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 1096770ca61..c976edaa5d4 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 092356de4a6..d8bfb1a8fc3 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 fc73bd142ea..ce94cd09cda 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 7f51b640e1f..6a26f636cb2 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 888a73a3138..2e4f6ac5f14 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 89c0878d840..5a4cffe9a7c 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 d10ce176c26..a5d045abc92 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 e887acceb93..f43aa48b97b 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 39143e003fa..591418d6a13 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 b91d43b7c71..32c0aa73ebc 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 4bd02308a9a..53a0353c3ac 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 5a2ed5c76e7..527f50333f1 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 910e8beba54..d80d12abeed 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 cafb662e14f..5677c288abd 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 e87c411d085..5a733310cf1 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 1913a2fbda6..4805014867a 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 d4d09c61f53..2add398e7a5 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 dc540ea909f..3ddb9db120e 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 41942d083bc..1d01bf94a7c 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 fb67e53c544..f5c09f477e7 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 fd5403b0834..5a6e7c43e8d 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 63bcc00dbca..faff899c7d1 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 ee1928137dc..3df7d142dc1 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 aa2fb0375ed..9b251b7e3b5 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 def8b2fce4b..3770534c7ca 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 8650f888c28..751d7982f81 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 ef779f2abdb..8e00a4654e4 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 c71f18a0790..0abe72054c7 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; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/y.tsx === + +export default 0; + +=== 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 419180d7976..4a7a1c89564 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; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/y.tsx === + +export default 0; + +=== 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 eaf61024fb0..0a7925c4f6e 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; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/y.tsx === + +export default 0; + +=== 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 199a513549d..4ff610e49fd 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; -No type information for this code. -No type information for this code.=== tests/cases/compiler/z.d.ts === + +=== tests/cases/compiler/y.tsx === + +export default 0; + +=== 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 d01f2206165..2ee6979bc41 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 7b530030eb5..34c4c19cbd7 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 af9dc4154d4..d6b4d68e4a5 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 0e418c5dc14..8c5c92df59c 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 a73d58fd7d8..37911f91f24 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 a73d58fd7d8..37911f91f24 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 11c9c72cc69..05ff9ad2c5e 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 11c9c72cc69..05ff9ad2c5e 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 46806e5313f..eb618097968 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 2094265709f..07e0bd65394 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 a7ee88bd3ff..e9daacf08e5 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 2f8bba9b6ab..1bdac309c68 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 bfeb5a14c94..db0c144b160 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 390fd1b0bed..e2080f65136 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 fbcc5fa6c43..c0eb8b05f70 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 58189c8b987..eb818ec8756 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 6da52fe3207..a3094575fe6 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 16e36f119e8..6eeddecfb1b 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 f0707d7fbc4..5e5918b3233 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 a104e9e4a33..bf105754b9d 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 00000000000..c7704691e1e --- /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 00000000000..0fe6a42c1d2 --- /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 00000000000..2a17170e90a --- /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 00000000000..473b1f52955 --- /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 4dddcd75925..43d26dec388 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 de1a5790cce..adfa34faec1 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 de1a5790cce..adfa34faec1 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 2ce91130095..41e4658626e 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 8e980d90300..6028213b591 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 655d90f047b..80e58e9b830 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 655d90f047b..80e58e9b830 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 ddd49c0c2c7..59fee7c6950 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 9c8ff2f8452..fe540d85854 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 da5f5146ec2..a9093debbb0 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 a4c75125716..3d4d58b20a1 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 79992f12bdc..695ef44af7c 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 e3065d2e0a0..26f8afead67 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 e1ea467f857..64dd59632cd 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 e4e9a53aa59..0c9dd75acdc 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 e4e9a53aa59..0c9dd75acdc 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 e4e9a53aa59..0c9dd75acdc 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 e4e9a53aa59..0c9dd75acdc 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 67841b1be5a..55bccd08f50 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 38a4e474dc6..6d4cec3eba9 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 2db356fe249..5b1616bfe37 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 64a53eefcc0..c6764326f5e 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 2db356fe249..5b1616bfe37 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 2db356fe249..5b1616bfe37 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 0469b9d6ee7..a7c19c8a9ae 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 2db356fe249..5b1616bfe37 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 61190a772be..339dac211dd 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 61190a772be..339dac211dd 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 61190a772be..339dac211dd 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 61190a772be..339dac211dd 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 07bda5323db..cbcf89cbd64 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 07bda5323db..cbcf89cbd64 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 520761d1b0a..2e206b7fee9 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 520761d1b0a..2e206b7fee9 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 1b75c0fff24..f0ddc765fb9 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 1b75c0fff24..f0ddc765fb9 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 00000000000..bf3afd3d6ad --- /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 00000000000..538157242b7 --- /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 00000000000..6b1d472400a --- /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 00000000000..cb0668334db --- /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 5309ca6f8bc..dd0308e5302 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 5309ca6f8bc..dd0308e5302 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 e6e97a84b46..1d4520eeb58 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 e6e97a84b46..1d4520eeb58 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 abc205f8742..7d2eebc21e0 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 abc205f8742..7d2eebc21e0 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 62e354e99b1..b6f215714e6 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 62e354e99b1..b6f215714e6 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 1e3690c89f0..275138c6928 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 1e3690c89f0..275138c6928 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 3546346b347..5603344b566 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 5685121775b..2433d2465b2 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 a2a37da0ecd..f57013411f4 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 dcc36617cb0..9264d20234e 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 50f04ab7256..36fa2c582ed 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 4e9f68545cd..8c580bc2cdf 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 245a3a674ba..e22186758f7 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 d0ffc9942d0..e3ee74ef343 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 74f0517a75a..66108670f00 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 4882da6afc5..abea97d4658 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 3fca9b4e785..7043cd573d6 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 b1564a4f85b..22e83a7b88b 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 916a0e4a045..f3ad4f02eef 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 ae9c793bee4..15b7b1fb5df 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 fb6f46a20c1..ac53c6622b3 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 d912adbb5e1..5fb4f9ceba0 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 2775ffef173..e9cc9f619c7 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 c5e111f98e3..f319877dafb 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 68cd4f736e4..2ff015d0bda 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 c859ebda943..da7e6f79bcb 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 fd24dd4df60..accde6e18f2 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 3605b2f9424..0cd887408ed 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 3dca38ab535..dd9ffd87662 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 bcfd1533c30..77603325c73 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 6ebbb0a3b40..faab0483642 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 eacbed235da..5d5f0761d10 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 6b479ce696a..823274a252f 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 0157379b4db..ffc37c78e23 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 86584c432e9..2d009269858 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 fe2209c13c1..e49db8953d7 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 e9355a92219..086352555a4 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 2da2298c8e2..794853b7f54 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 894de1472f7..b40b3fb715b 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 284351f93b5..eda8cfc4861 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 afa73eb325b..8eadb23ae88 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 966a71ec7df..39bc1cf1514 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 966a71ec7df..39bc1cf1514 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 221aec7f9e3..787bfb99780 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 a9fb95309b1..73d96d886d5 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 07890b16804..35e8d365bd8 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 eeb93537357..722cde62ecb 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 529ed0078e0..62f3575ae49 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 f01d15a8ea7..18686d9d117 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 f01d15a8ea7..18686d9d117 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 56ba3a74158..f8767cb3e9a 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 56ba3a74158..f8767cb3e9a 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 285af64728b..050f74240ec 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 285af64728b..050f74240ec 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 82eca9464a8..0fa2e271189 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 82eca9464a8..0fa2e271189 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 bfc1785f927..8cd8209fe9c 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 bfc1785f927..8cd8209fe9c 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 9916218897c..53fc5102d25 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 9916218897c..53fc5102d25 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 ccab7da87d8..346bdf7a977 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 62790b49103..86f495947e1 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 f381d3625c5..3f6f226de14 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 676684c2d50..80622e02cbe 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 d48ac0a4841..6a927f9eed6 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 d48ac0a4841..6a927f9eed6 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 b7baa6a9ec6..1f229fea776 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 b7baa6a9ec6..1f229fea776 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 c5e9b0e6a9c..674897dab99 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 3b763e1cc4a..97663f26d01 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 73614051301..9a5c60eb148 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 814a5df6717..b947f622f5f 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 6c86acab75e..69f66bf6d25 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 6c3c5563245..86e8f458f8d 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 c9392ee0c7f..c7a8f460857 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 fba3f820db5..f61f023deff 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 b1ed4d22a71..22dad9c2989 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 159c4882de7..9d1a0626f8d 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 c6d675cf80b..fcff229fb27 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 56a34ebf381..78d5fb9abb8 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 3ec838f40b1..d333a7e1870 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 a95b8d21898..932f597c5db 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 7ab80b87104..e708f60ca6b 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 7ab80b87104..e708f60ca6b 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 c6efdfe8700..079e3c90433 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 f93836ecfa2..c30ce6be14f 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 c018b4d8a99..7e350763208 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 604b497fa06..ef319cd1c69 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 793d8d5fa5f..54a41f2144f 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 130831017b5..69ec4f6e53d 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 daf18ee868d..b44f5107fbc 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 fd8d0bb1635..fdaad055dee 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 69e8d972a8b..dae0525ef94 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 e2ecb4965dc..c7a20e6bab5 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 7581b6ace0a..811b9891d42 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 c03c954704b..236ea5da878 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 66d9953a5cb..84aff11e55a 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 8cb204abcb1..e95fface734 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 28a7538a3fd..0b7adb4c5ed 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 722b0e1097d..d08edd2b24e 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 43adc413615..1209eba5f3d 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 de6697b8fad..fe6b1e1496f 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 5cca4512a38..a9e941f0b98 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 53bdd756d27..52bde9d1283 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 f0ca1bc80c9..ee7dcc40136 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 4ea0d39b965..59ce4803d23 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 db77d8f1dee..f898b9792b5 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 97e8fded355..c584e6f1668 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 d23d2fadaef..abbaa74197f 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 84a87102b43..7ab3b0ec5ee 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 6012852af0e..763d35ff23c 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 3687cda579b..1c0c2d3545f 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 4a1a8dcabe9..0dc1e310150 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 f57dc5c6891..f1985f89b3d 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 fbf73c9656d..4b2d7b3b5f6 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 36f043bf080..b2b6bd0a35e 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 e1647ee05fe..cfdab46f2ad 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 571a7b5d7b9..570c57cef53 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 561bc768a53..ae4f497506f 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 a71031b65c0..1a794940579 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 baac5b00915..d611cb6e4ec 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 a5a484dd0e3..c28da66aee9 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 89f096f3420..7e3d3ab07b5 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 00828537ee2..7a164990bdc 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 339f47a2753..a4e45dc8cd5 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 97c04643053..a36937ed025 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 c4fc1e90e38..a006596b7b5 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 74001e6df70..4f4bafd3c16 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 4beeb0688b1..2f15bf6383d 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 7be9d1af3a8..3f31cf108bf 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 bc92f1db108..e896be81d16 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 285796e888a..7ab84ea585c 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 74e0d8050ff..59c1fc0d2ff 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 cb5e33d8f06..5e6ca55a308 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 d47bf6541c4..d3b0075cabb 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 bb88c64044b..b9a6c12f349 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 8360e451ec1..73c6443610f 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 9e424e11368..36b108f4188 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 d330c8f8c79..9362c353c8e 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 ad40aba3472..df294c46cc2 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 cd418ac9ad5..2ccb962cace 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 01e1e7ea770..7b094b105e6 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 6c9aae9def2..fa385be7a11 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 33fa3f107d6..d897988e307 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 884640a5232..17972aafe70 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 a84e94b0000..d25e5e2f952 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 a84e94b0000..d25e5e2f952 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 e132e767e98..1fde2d62dbd 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 aa65f7896d4..763703a10a6 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 271c6bab984..b0df27d7c16 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 9ceb52a0aaa..68906fd44ad 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 926040527e5..2d94ae168c2 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 d0e33cc7490..f7a0b957f3e 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 116f7dcc790..589152746a2 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 5f42afd8fc9..1f0e3cd0f17 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 612d19539eb..54f0b01177e 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 63d3a1c3b74..bf3a44dfb40 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 24d45924e5c..3fc2f95327d 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 17e5e2bbf17..0fc0260f1c1 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 17e5e2bbf17..0fc0260f1c1 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 c52b8bb407d..45ef7704898 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 c52b8bb407d..45ef7704898 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 c1f72a7ce81..3ae5d74b757 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 c1f72a7ce81..3ae5d74b757 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 d65f50bdb72..462082d4e4b 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 77ff67746e9..26fe88430f8 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 28441e36fe6..61a8dd8dd4f 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 28441e36fe6..61a8dd8dd4f 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 f1703c9f7ef..6b6cc78cfa1 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 0d6df58ed39..23565ec507c 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 5d3067ff63d..558b81991cf 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 5d3067ff63d..558b81991cf 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 c6a472340df..ad3d2cae88b 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 c6a472340df..ad3d2cae88b 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 f6b22767dac..9fc20f657a3 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 f6b22767dac..9fc20f657a3 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 e186861446b..972682f0019 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 e186861446b..972682f0019 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 393f530817d..b03d100117a 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 5d012f037e4..ce318babc4e 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 5d012f037e4..ce318babc4e 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 bba1c75e5a6..754ac711647 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 bba1c75e5a6..754ac711647 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 ba8bf57d861..36404e8938e 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 9a6dda17857..9d95c62caa5 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 da06e11c608..9849d70b006 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 da06e11c608..9849d70b006 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 2e869695f36..9db7df9e0da 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 2e869695f36..9db7df9e0da 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 05934fd7d57..2cb1c3ed572 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 d56013b7638..ca4dae81fa1 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 d56013b7638..ca4dae81fa1 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 5510d17f4e6..f67cd3f6747 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 5510d17f4e6..f67cd3f6747 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 50f7807483d..a91924d1002 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 50f7807483d..a91924d1002 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 cb308915ad1..57997738b7a 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 cb308915ad1..57997738b7a 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 be1df55a861..08c7d0723dc 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 be1df55a861..08c7d0723dc 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 cd7e01f328f..b55c6a038d9 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 838d4f17cc1..684907dd3fd 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 dd16cddc2fd..7f95f750e91 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 0975f906373..b731fde7ba4 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 5494058c852..e16b734c2c5 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 f56038dfb12..582dc9750eb 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 2d3a91abc55..426f4f805b7 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 dde34e06746..d8a94df025f 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